The Akelos Framework.
The Akelos Framework is a port to PHP of the fabulous Ruby on Rails
web development framework. I decided to build my own framework after considering several others. Although I loved Ruby on Rails I
needed a framework that allowed my company to distribute standalone scripts that could run on cheap shared hosting without modifications.
For this reason I decided to go with PHP4 and make in compatible with PHP5.
I considered other PHP ports of Ruby on Rails, but we could not find all we needed on them. One feature that I needed on the core was internationalization and Unicode support, so I decided to roll my own framework trying to keep most of the original rails interface so most of its documentation could work for it.
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 Framework Features
- Multilingual Models and Views
- Locale alias integrated on URLS (example.com/spanish will load the es_ES locale)
- Database migrations using DB Designer files
- Pure PHP support for Unicode (no extensions required)
- Unit Tested source code
- Code Generators
- Built in XHTML validator
- Automated locale management
- Clean separation from HTML and Javascript using CSS event selectors.
- Ajax file uploads.
AFLAX integration.Dojo Rich Text Editor.- Format converters.
- File handling using SFTP for shared host running Apache as user nobody (as most CPanel server do).
- Distributed sessions using databases.
This code will be released to the OpenSource community soon, but I'm a bit concerned about what happened
to Python Subway, it must be frustrating to do such a big
job and find no community support for it.
I'm also concerned about the PHP Framework war, I don't want to play that game.
Building this Framework was a great experience, it works great for me and it has helped me to become a better programmer
so I don't want to spend my time discussing about if this is better or not than other solutions.
That's the reason I'll first look for great developers interested in the Framework to help me releasing it.
I'm looking for experienced Ruby and PHP developers who have fallen in love with Rails but still need to do projects in PHP, to support and launch this project.
Source code is licensed as LGPL right now but this can be changed to a less restrictive license if I find the right people to launch a community site and provide support and continuity to the project.
If you are interested, drop me a line to and tell me how can you help, I'll provide read access to the subversion repository so you can start playing with the code.
