Aspect Oriented Programming (AOP) is a methodology meant to implement new aspects in software component using external components, but without altering the code that implements the core functionality. AOP Library for PHP have been implemented to implement Aspect Oriented Programming (AOP) by executing the code of classes that enable orthogonal aspects at run-time.

Aspect Oriented Programming for PHP

The intention is to provide a means implement orthogonal aspects in separate classes that may be interesting add to the application, like logging, caching, transaction control, etc., without affecting the main business logic.

The package provides base classes for implementing defining point cuts where the code of advice class is called to implement actions of the orthogonal aspects that an application may need to enable.

This package is also the winner of the PHPClasses.org innovation award of this month, Manuel Lemos commented :

The AOP concept was created originally by Java developers. They developed a compiler that implements the AOP white box approach, i.e. the compiler the merges the code that implements the software components core functionality with the necessary code alterations to implement the new aspects where necessary.

This package implements a framework that provides a PHP solution that does not rely on a pre-compilation stage. Therefore it can be used right away without the eventual complication of the compiler based AOP implementations.

This package have been used by Site Sapiens, an Enterprise Content Management Platform. A CMS that have been adopted by many companies such Coca Cola, Azur Consulting, BelSwissBank, and many others. XML Sapiens also is another Open Source project aimed to help developers create their own free CMS and programming interfaces

XML Sapiens is a specification of the descriptive language for user interfaces of web sites powered by Content Management Systems. A specification of the XML-based language that allows authors to manage web site objects and their interaction; and to detach data from site functionality and presentation. A unified descriptions of CMS user interfaces and enables CMS developers share their solutions.

From an AOP PHP library to a professional solution adopted by professionals, the choice was certainly result of satisfaction of many clients. If you didn’t already know this project you may have a look on the Open Source project and see the great functionalities that it offer.