2015年6月12日星期五

Ed Zynda: Aspect Oriented PHP And The Interceptor Pattern


Ed Zynda has a recent post to his site looking at the use of the Interceptor design pattern with the aspect oriented methodology in PHP. He doesn't get into the basic concepts of AOP, so you might want to find out a bit more in other places. It's not a necessity, though, as his code examples are easy enough to follow along.



There are many ways to modify the behavior of existing code with actually changing the core logic. Some patterns you might be familiar with are the decorator pattern or the observer pattern. Both allow you to take another object and modify the behavior by wrapping your modifications around the original code. One pattern you might not be familiar with though, is the interceptor pattern.


He first helps you install the AOP-PHP extension to provide some of the necessary PHP functions. From there he talks about using some of the functions that intercept function calls and perform an action. He shows examples of it using:



  • aop_add_before
  • aop_add_after
  • aop_add_around


He also shows how to modify arguments during execution and changing return variables when the execution of the function is completed.


Link: http://www.edzynda.com/aspect-oriented-php-and-the-interceptor-pattern/

没有评论:

发表评论