over 2 years
ago
Military grade universal PHP application framework
by
Mike Seth
Agavi is special, military grade, professional PHP application framework.
Agavi is:
* Pure PHP5 only
* Fully OOP and MVC
* Versatile, modular and 100% extensible
* Conservative and focused
* High performance
* XML enabled
....application framework that enables creation of arbitrary PHP applications. It is not designed solely for Web applications and enforces strict (yet flexible) separation of
... [More]
application logic and presentation, allowing you to expose your application through arbitrary interfaces (from Agavi's perspective, it is immaterial whether you are interacting through a web browser, a serial console or a cron script running in a virtual machine on your cellular phone: no matter the media, you write your code once).
Outstanding quality of code written by brilliant developers who adopted the best of Mojavi legacy, customizable code generation tools, ample selection of utilities, independence of particular database and content production libraries, agressive caching features, extensible and magical configuration using intuitive XML, complete and proper support for internationalization, routing subsystem that beats pretty much every other framework, and many many more awesome features that can only be fully appreciated by professionals:
* Configurable two-sided filterchains; application and framework logic is wrapped by filters before and after execution (and is executed inside a filter), both globally and locally
* Contained and deferable execution of logic in tightly isolated environment (e.g. you can not access $_FILES or $_SESSION directly)
* High level security enforcement. RBAC implementation is available.
* Automagical XML to PHP compiler (XML configuration is read *once* after a change!)
* Mojavi-style slots and layered output buffering allow highly customizable decorator templates
* Highly consistent class hierarchy, clean source code, phpdoc comments and generated API documentation
* Phing as the underlying build engine
* Automatic and highly customizable filling of HTML forms
* Per-action validation defined in XML DSL
* Conditionally cacheable actions
* Easy integration with many existing database libraries and templating engines (no specific library or engine is required or encouraged)
* Easy incremental refactoring of legacy applications into Agavi
* Ideally fits PHP's execution model
* Powerful session management, with separate and extensible code for management and storage
* Extensive use of class autoloading - any part of Agavi can be customized or replaced
* Reliance on full power of PHP5 (data reflection, exceptions, XPointer/XPath etc).
* Fully supports web services, and multi-media, multi-user, multi-context applications
* Conservative restraints on what is accepted into the distribution: Agavi does not and will not carry libraries for HTML generation, Ajax, ORM and other stuff that doesn't belong in an universal framework
* Fully suitable for real life, mission critical production.
* Nice
Agavi is a work in progress (core API frozen until release 1.0) and its documentation is being improved. This author relies on Agavi heavily in intranet and Internet production environments.
[Less]
10 of 10 users found the following review helpful.
Was this review helpful to you?
Yes
|
No
about 1 year
ago
Suits business needs
by
Craig Fairhurst
Agavi is a non-restrictive and extensible framework that offers the developer an environment to create maintainable code within.
Most of Agavi configuration is done from within XML files, which are compiled into PHP code on the first run. The overhead isn't noticeable and the benchmarking times reflect this. There isn't much need to get too involved in the settings to get started, simple database configuration is available and you will need
... [More]
to define how output is made via header and footer files with examples available.
The ability to plug-in other libraries and toolkits is possibly Agavi's main feature. The natural integration with other popular codebases offers the best of all worlds.
If you are new to frameworks the terminology and methodologies may take some time to get used to and fully appreciate, but the value is there.
Getting started with Agavi is a matter of having the time to commit and the desire to implement a solution that will have long term benefits. Agavi isn't a quick-fix solution for generating reams of code however the end result is noticeably better.
Thanks go to the Agavi team for their ongoing commitment to the project.
Links:
http://talks.php.net/show/froscon08/28 - Benchmarking times
http://trac.agavi.org/browser/documentation/trunk/topics/examples - Code from examples for output config
http://groups.google.com/group/agavi-users/msg/ccea4e9c3d4b74e7 - A sample application
[Less]
2 of 2 users found the following review helpful.
Was this review helpful to you?
Yes
|
No