This post originated from an RSS feed registered with PHP Buzz
by Sebastian Bergmann.
Original Post: GAP @ EIWAS 2006
Feed Title: Sebastian Bergmann
Feed URL: http://sebastian-bergmann.de/
Feed Description: Geek by nature, PHP by choice.
In this paper, we explore how aspect-oriented programming can be implemented for the PHP programming language. We start with an overview of existing implementations, identifying their strengths and weaknesses. We then introduce GAP, our implementation of aspect-oriented programming for PHP that uses dynamic weaving, supports aspect genericity, and provides a framework to implement custom pointcut languages on top of it.
The sum of these features has previously been supported only in experimental research prototypes that have had little impact on commercial software development. In contrast, PHP has a large user community. In the last decade, it has developed from a niche language for adding dynamic functionality to small websites to a powerful tool making strong inroads into large-scale, business-critical Web systems. We expect that GAP will significantly ease development of such systems while promoting a seamless integration of many advanced concepts of aspect-oriented systems: aspect genericity, dynamic weaving, a state-sensitive pointcut language, and extensibility.
A predecessor of GAP was presented at the AOSD.2006 under the name AspectPHP. We have chosen to rename our approach to GAP in order to avoid confusion with the aspectPHP project and to emphasize the support for aspect genericity.