What is Scorpio Framework?
Scorpio is a component based full-stack framework for PHP 5.3. It utilises the Symfony 2 components and other libraries to provide base functionality while providing some unique features specific to Scorpio.
Scorpio is suitable for medium to large projects and is tailored to projects that require a single site be re-branded (white-labelled) multiple times, while running from the same codebase or for exposing multiple sites from a single entry point e.g. api, admin, client.
Scorpio 2 requires PHP 5.3.6+, various Symfony 2 components, Smarty 3.1.8+ and Doctrine 2+ ORM.
Optionally for reporting you may need PHPExcel for XLS/X output.
For email there is an adaptor for both phpMailer and SwiftMail.
Scorpio 2 is currently in an alpha state with core API and functionality changes happening regularly. There are several major outstanding issues to be resolved:
- database integration
- site inheritance / locations and configurations
- security / forms integration
- code generators and console commands
- exception / error handling
- test cases.
Many of the original files have been updated to more closely match Symfony 2 and the Scorpio kernel is now a customised Kernel instance. Scorpio 2 supports Bundles and uses the same bundle definitions and setup process - however it does require custom paths and setup in some instances. Any Symfony Bundle that actively uses or requires symfony/framework-bundle will not work with Scorpio 2.
So far the following bundles have been created / ported:
- FrameworkBundle - the core framework (similar to Symfony/FrameworkBundle)
- SmartyBundle - Smarty interface
- WebProfilerBundle - port of the Symfony 2 WebProfileBundle
- DoctrineBundle - port of Doctrine/DoctrineBundle including DoctrineBridge.
- curl -s http://getcomposer.org/installer | php
- git clone firstname.lastname@example.org:scorpioframework/scorpioframework.git
- php composer.phar install
Composer will install the needed dependencies. Smarty is now available via Packagist and has been added as a custom repository to try and avoid a full checkout of the stable branch from their SVN repo.
Currently no default configuration is provided with Scorpio. This is an on-going development that has several outstanding issues (see status).
Scorpio is an open source framework, previously hosted at SourceForge, it is now on GitHub for better sharing and development.
Previous versions and various background articles can be found at the Scorpio homepage scorpioframework.com.