Scorpio is a framework / component system for PHP5. It has been designed to be light-weight and easy to understand.

The framework was designed and planned to provide the basics of what a project needs to get going, with a view to the sites that are developed being re-skinned many times but without changing the underlying application. By the same token, each site can have its own customised components. ajax is supported via xajax and variable return state on page requests (xml, json, javascript) - just create the appropriate output page type.

Scorpio includes tools for building data-objects, controllers, test cases and more. You can use as much or as little as you like, though some components are inter-dependent.

Scorpio makes extensive use of autoloading ensuring that you are only loading the parts that are actually needed. The autoloader uses PHPs SPL function: spl_autoload_register and includes additional logic to work with other spl registered autoload systems.

A full featured CLI layer allows the easy building of CLI applications and daemons along with signal handling, forking and a cliCommand system allowing commands to be re-used.

In addition there is support for mobile devices via a WURFL data layer and the MVC system is designed to support mobile requirements without modifications (including detection of XHTML / WML devices without WURFL data).

Scorpio was built with MySQL in mind and to use some of the pre-built systems this is required, however any database supported by PHP PDO can be used with the creation of an appropriate driver (MySQL, SQLite 2&3 and partial Postgres support currently available).

And as you grow, Scorpio can grow with you! With a translation layer and extractor for building translation files without requiring other programs (generation of MO files for gettext requires the gettext development tools, but POs can be built without them), extensible view renderers configurable by site (don't like Smarty, prefer PHPTal, no problem create an adaptor), integrated transport mechanism for making HTTP, Email and Application launch requests and much more.

Scorpio is licensed under the BSD License. For full details and exceptions see the license page.