Highlights
According to phpframeworks.com, there are some areas needed to be taken into consideration when choosing a suitable PHP framework for product development.
Here you can see what features you take when choosing Phoebius.
Our goal is to provide a tool for domain manipulation, which can be easily integrated with contiguous technologies.
| PHP4 | PHP5 | MVC | Multiple DB’s | DB Objects | ORM | Templates | EDP |
|---|---|---|---|---|---|---|---|
| | + | + | + | + | + | + | |
PHP version
Phoebius runs at PHP 5.2 or higher.
ORM
Object-relational mapping is the most notable feature of Phoebius and it supports:
- XML entity definition and mapping
- code generation
- one-to-one, one-to-many, many-to-many and composite associations
- complex types
- ...and much more
Multiple DB’s
A database abstraction layer is implemented to support even any RDBMS as an entity storage. PostgreSQL and MySQL are now implemented.
DB Objects
A table gateway is an ORM feature that allows the developer to define a custom storage for any entity and query them transparently through the unified data access interface.
MVC
Phoebius provides a feature-reach MVC stack which is similar to modern ASP.NET MVC.
Templates
We believe that the best template engine is PHP itself. Thus Phoebius provides an infrastructure to create templates in pure PHP using the environment which is similar to ASP.NET templates.
Caching
Caching is not currently implemented, but it is planned to be provided in future
versions as it is easy to integrate it in the existing solution as a separate
layer (by implementing IOrmEntityAccessor.
Validation
Validation is presented at MVC layer as a functionality that maps incoming variables according to action method signature (see the example).
Ajax
Ajax can be supported by Phoebius in the same way ordinary HTTP requests are served. Learn more how an AJAX web service can be implemented.
Auth module
Auth module is not yet implemented, but will be presented in future versions as a separate library or controller extension. Phoebius has no restrictions on the way the request is processed. Learn more how the authentication layer may be integrated into existing MVC stack.
Module support
Module support has no sense in Phoebius, because Phoebius is not a CMS but a low-level framework, whose applications may use even any PHP library.
Event-driven development and AOP
Event-driven development forces strongly-coupled interfaces and a code mess, so we won't support it.
