It has been a while, but Scorpio 2 is underway and is available from Github! This is still highly experimental and much work remains to be done, but if you are feeling brave: clone, deploy and have a look.
Scorpio 2 is a complete rebuild of the framework from the ground up, utilising Symfony 2 components and a standardised (with-in reason) layout and naming structure. Development is following Symfony 2 conventions and the PHP PSR-0 naming styles so Scorpio files will load via any PSR-0 compliant auto-loader.
From Symfony 2, Scorpio 2 uses:
It has not been decided if form, validator and locale will be used - however they are currently being included as recommendations.
In addition, Scorpio 2 uses (or will use):
- Composer / Packagist
- Doctrine 2 ORM
- Smarty 3.1+
The main repo can found at: https://github.com/scorpioframework/scorpioframework
Currently setting up Scorpio is a little involved as various parts are still being worked on and the configuration requirements are not yet finalised. Installing the base files is easy enough, and the dependencies are managed via Composer.
To get up and running you will need to first download and install composer.phar and ensure that you have a Git client.
Create a folder for the project for example: ~/Projects/Scorpio2 and from a command line (or in your Git client):
git clone firstname.lastname@example.org:scorpioframework/scorpioframework.git ./
The current folder layout for Scorpio 2 is:
Not all of these folders exist in the repository, but should be added if missing. Vendors is created automatically by Composer.
The structure is intended to be used as follows:
- "bin" - all executables including CLI apps, daemons etc
- "etc" - all configuration (including site definitions) and initialisation
- "logs" - log files
- "src" - your classes, code, website controllers / templates
- "tmp" - temporary files, caches (in /cache)
- "var" - variable, persistent, non-web-accessible data, e.g. file uploads
- "vendor" - third party code, packages etc (managed by Composer)
- "web" - all web accessible content (images, css, js etc)
This work is licenced under a Creative Commons Licence.