deft / twig-aop-extension
提供面向方面编程(AOP)功能的Twig扩展
dev-master / 0.1.x-dev
2013-07-09 21:01 UTC
Requires
- twig/twig: ~1.1
Requires (Dev)
- phpunit/phpunit: ~3.8
This package is auto-updated.
Last update: 2024-09-04 23:19:22 UTC
README
介绍
此扩展向Twig模板语言添加了面向方面编程(AOP)功能。AOP使得将横切关注点(例如日志记录、安全等)封装到不同的模块中成为可能,这可以减少代码重复,并允许更好的关注点分离。
有关AOP的一般信息,请参阅 http://en.wikipedia.org/wiki/Aspect-oriented_programming
安装
安装此扩展的推荐方法是向您的composer.json文件的require部分添加"deft/twig-aop-extension": "~0.1"。
重要概念
以下是AOP中最重要的概念及其在Twig领域的映射的摘要。
方面 封装一个关注点的模块;由一系列切入点和通知体组成。
切入点 匹配一个或多个连接点的谓词。
连接点 执行流程中的点。在Twig中,每个节点都是一个连接点(1-1关系),因此切入点通过是否匹配给定的节点来定义。
通知 与切入点相关联的代码。通知类型
- Before:在连接点之前运行通知;
- After:在连接点之后运行通知;
- Around:通知代替连接点运行。通知仍然有执行原始连接点的可能性,但必须显式调用此操作。
方面织入器 将通知添加到关联连接点的编译结果的处理器。在Twig中,这可以通过在编译之前修改节点树并使用节点访问者来实现。
使用方法
本节仍在建设中,但您可以查看test/Deft/Twig/AopExtension/IntegrationTestCase,它应提供有关使用方法的指导。