Sunday, July 13, 2008

Akelos PHP Framework









From : Akelos

The Akelos PHP Framework is a web application development platform based on the MVC (Model View Controller) design pattern. Based on good practices, it allows you to:

  • Write views using Ajax easily
  • Control requests and responses through a controller
  • Manage internationalized applications
  • Communicate models and the database using simple conventions.

Your Akelos based applications can run on most shared hosting service providers since Akelos only requires that PHP be available at the server. This means that the Akelos PHP Framework is the ideal candidate for distributing standalone web applications as it does not require any non-standard PHP configuration to run.

Who can benefit from the Akelos PHP Framework?

  • Web developers writing database applications using PHP.
  • PHP developers who want a more enjoyable experience writing applications.
  • Ruby developers that need to code in PHP and want an easier and more enjoyable way to do so.
  • Companies and developers looking to sell or distribute their applications without requiring special deployment configurations.
  • Developers looking to develop multilingual applications for localized markets.
  • Development teams that require a method with a few simple conventions to ensure that team members will understand the work done by their peers.

Being a Ruby on Rails port to PHP, Akelos is also designed to make developers lives simpler by resolving complex problems with unusual speed and productivity.

Favoring "convention over configuration" leads to the creation of uniform and simpler-to-understand code.

If you want to know more about the Akelos PHP Framework, why not view the video "Creating a Blog in 20 minutes" video?

Who is already using Akelos

Akelos has evolved from the work done on many complex intranet sites that, unfortunately, are not public. Here are some public projects using the Akelos PHP Framework:

Alternatives

If you feel that the features of the Akelos PHP Framework don't match your needs, you can look at these other web application Frameworks.


Akelos PHP Framework Features

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

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.

No comments: