Skip navigation.

An open source framework for PHP applications built onto the already powerful Zend Framework.

The Xyster Framework leverages and extends several parts of the Zend Framework providing a massive collection of useful and hardened tools for PHP applications. We don't want to bore you with marketing—evaluate it for yourself!

Why Should I Use Xyster?

  • Xyster is free of pesky license restrictions by being made available under the BSD license.
  • It contains well-tested code that you should feel confident in using.
  • Xyster provides a stunning assortment of extensions to the Zend Framework and manifests a few new ones.
  • You should really be asking yourself why you shouldn't be using it!

About Xyster

A xyster is a surgical instrument for scraping bones and other firm tissues. We really have no idea what this has to do with an application framework. “Xyster” was just a catchy name that people could remember. Hey, in our defense, there are a ton of software projects whose names are totally unrelated to their function.

Xyster is the brainchild of several developers of different backgrounds. It arose from the ashes of another framework, the never-released-but-constantly-developed PHP Wildfire. Eventually, we determined that the Zend Framework implemented many things we had already done in a similar way, and also provided a host of things we didn't. Xyster is brought to you today as an extension to the impressive Zend Framework.

Our first priority was to fully implement the object relational mapping system and its object query language. As we keep moving, more useful features will be popping up, so stay tuned.

Now, about us:

  • We strive for 100% code coverage in our unit tests
  • We do Test Driven Development
  • We are versed in cunning software design patterns
  • We hate messy code and poor structure
  • We like easy-to-use libraries with APIs that make sense
  • We haven't been using PHP 4 since 2003

Parts of Xyster

These are the different parts of the framework.

Xyster\Acl

The Zend Framework introduced a very handy security authorization scheme, the Zend_Acl. With it, you could define rules that grant or deny roles access to resources.

Building on the Zend_Acl package, we provide the ability to add "authorizers" to your ACL—objects that dynamically build rules. This becomes very useful when access to a resource is fine-grained or you have a complicated security hierarchy.

Xyster\Collection

PHP 5 brought great support for collection objects with the SPL. On the same token, we brought a complete collections package to PHP in the style of Java's or .NET's (but not nearly as stuffy ;]).

Behold, mortals, for in addition to the collections you're used to, we bring you lists: an indexed collection like a numeric array, sets: collections that can only have a single copy of each value within, and maps: which can use objects as a key. As you would expect, you can add things to them, merge them together, remove things from them, and easily create strongly-typed collections. You can even make them read-only.

Xyster\Container

We've implemented a Dependency Injection container. Have a look for more information.

Xyster\Controller

The Zend Framework Controller is a great MVC. We've added several useful Action Helpers and Plugins that can be set up and used immediately. Among them: authorization, authentication, cache control, and file responses to name a few.

Xyster\Dao

A full-blown DAO system. Built-in support for Doctrine 2, and more ORM frameworks support is on the way.

Xyster\Data

As far as we're concerned, you should be able to filter, sort, and refer to sets of tabular data using the same syntax regardless of origin. A database recordset should is like results from an LDAP directory is like parts of an XML file, etc.

The Xyster_Data package provides several objects to universally refer to fields in sets of data, and also to filter, aggregate, and order these sets.

Xyster\Enum

PHP lacks true enumerated type support. We did the best we could with providing this capability, because, frankly, it's smart.

Xyster\Type

Useful utilities for working with classes, from value binding to runtime class proxying (to help with AOP support).

Quick & Dirty

Most Recent Release
02 Build 01
License
BSD
Requires
PHP 5.3
Zend Framework 1.11.0
First Release
September 2007
Community
1 developer

Contact

Please file bug reports in the issue tracker.

Looking for support? Try the forums, or consult the wiki.

All other inquiries should be forwarded to Jonathan Hawk, the lead developer.