Akelos 2


The Akelos Framework is a port to PHP5.2 of the popular Ruby On Rails web development framework with some unique features.

Back in 2004 I decided to build my own MVC framework after considering several alternatives. At that time I loved Ruby on Rails, but I needed a framework that allowed me to distribute standalone scripts that could run on cheap shared hosting without modifications so Akelos 0.6 was Open Sourced in 2006.

In September 2009 I stated coding what is going to be the future Akelos 2; decoupling the frameworks available in Akelos so they can be used by other projects individually.

Akelos 2 will be released during the first quarter of 2010.

The frameworks in Akelos 2 are:


Action Mailer

Action Mailer is a framework for sending, receiving and testing emails on PHP. You can create multipart messages using multilingual templates with standard CSS. Using the Action Mailer you’ll avoid the headache of inline styles for HTML messages.


Active Model

Active Model provides generic elements for your application models like:

  • Validation
  • Observing
  • Callbacks
  • Logging
  • Migration / Version control
  • Internationalization
  • Error handling

Built on top of the Active Model, you can find Active Document and Active Record.

Active Document

Active Document is wrapper for NoSQL Databases. Currently under heavy development it mimics the popular Active Record pattern and includes validations for databases like MongoDB, CouchDB, Casandra…

Active Record

Implements the pattern (Fowler, PoEAA) for ORM.

It ties database tables and classes together for business objects, like Customer or Subscription, that can find, save, and destroy themselves without resorting to manual SQL. Currently tested with MySQL, PostgreSQL and SQLite.

Active Records automatically handle nested searches of these types of associations:

  • Has one / Belongs to
  • Has Many
  • Has and Belongs to Many

You can plug in behaviors in order to extend Active Records. Default behaviours include:

  • Acts as Tree
  • Acts as Nested Set
  • Acts as List
  • Acts as searchable
  • Acts as versioned

Action Pack

Simplifies web-request routing, handling, and response as a half-way front, half-way page controller.

Implemented with specific emphasis on enabling easy unit/integration testing that doesn’t require a browser.

Includes these components:

Action Controller.

  • Out of the box internationalization magic.
  • Multiple session drivers (Cookie, Memcached, Database)
  • Action pre and post filters.
  • 3 Cache layers
  • Large file streaming and delegation via X-Sendfile
  • Format request recognition and automatic MIME type handling.

URL Router.

  • RESTful routes to match different controller and actions based on HTTP verbs.
  • Nested routes.
  • URL and Path helpers

Action View.

  • Multiple template engines
  • Partial rendering
  • Helper methods
  • Ruby-like syntax on views via Sintags

Active Support

Components and frameworks for reducing development time and improve code quality.

  • Testing framework on top of SimpleTest
  • Configuration management
  • Image conversion framework.
  • Internationalization management
  • Code reflection
  • Installers (migrations)
  • Format conversion framework.

Makelos

Makelos is a simple PHP build program with capabilities similar to make. Inspired by Ruby’s rake, Makefiles are completely defined in standard PHP syntax. No XML files to edit. No quirky Makefile syntax to worry about.


Getting Akelos

Visit the Akelos site for the latest stable release.

If you want to have a look into Akelos 2, you can fork me on Github.


Back to projects