kampernet/aspects

该软件包最新版本(dev-master)没有可用的许可信息。

以非常基础的方式实现面向切面编程

dev-master 2014-06-18 03:21 UTC

This package is not auto-updated.

Last update: 2024-09-24 00:47:21 UTC


README

此软件包提供了一种非常简单的方法,在您的PHP类中实现面向切面编程功能,而开销很小。请参阅tests/AspectTest.php中的代码,了解如何使用它。

    $aspectee = Aspect::getAspectedInstance('Aspectee');
    $aspectee->doThisThing();

您可以轻松地篡改或创建一个实现AOP的PHP类自动加载器。使用此Aspect类,您可以创建Aspectee类,并使用@has注解来说明它们具有哪些方面。命名约定使得它看起来像您所说的类加上单词Aspect。

例如:@has Example 会查找并加载一个名为ExampleAspect的类。

Aspect类的方法名称为(before|after)<Classname><MethodName>,或者具有相同格式的@match注解以正确应用。使用@match注解,您还可以匹配正则表达式。