deft/twig-aop-extension

提供面向方面编程(AOP)功能的Twig扩展

dev-master / 0.1.x-dev 2013-07-09 21:01 UTC

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,它应提供有关使用方法的指导。