The Akelos PHP Framework implements many features from Ruby on Rails and some others targeted to coding multilingual applications which need to be distributed in a simple manner.
Akelos Main Goals
- Improve developer happiness.
- Speed up the creation of complex web applications writing less code.
- Provide all the means for creating applications that can run on cheap PHP4/PHP5 hosts and in the developer desktop without complex configurations.
- Help on the hard task of creating and maintaining applications with data and views in multiple languages.
- Favor conventions over configurations.
Features ported from Ruby on Rails
Active Record
Associations
- belongs_to
- has_one
- has_many
has_and_belongs_to_many- Finders - not so cool as Ruby on Rails but you can still do
$Project->findFirstBy('language AND start_year:greater', 'PHP', '2004'); - Acts as
- nested_set
- list
- Callbacks
- Transactions
- Validators
- Locking
- Observer
- Versioning
- Scaffolds
- Support for MySQL, PostgreSQL and SQLite (might work with other databases supported by ADOdb)
Action Controller
- Filters
- Pagination
- Helpers
- Mime Type
- Mime Response
- Code Generation
- Flash messages
- URL Routing
- Response handler
- Url rewriter
Action View
- Templates (using Sintags)
- Web 2.0 javascript using prototype and script.aculo.us
- Helpers
- Partials
- Template Compilers
Additional Akelos PHP Framework Features
- Multilingual Models and Views
- Locale alias integrated on URLS (example.com/spanish will load the es_ES locale)
- Pure PHP support for Unicode (no extensions required)
- Unit Tested source code using simpletest
- PHP Code Generators
- Built in XHTML validator
- Automated locale management
- Ajax file uploads.
- Format converters.
- File handling using FTPS for shared hosts where Apache runs as user nobody.
- Distributed sessions using databases.
- Cache system using a unique interface independent of the medium Database, Files or Memory.
