您的位置 首页 php

记一则关于PHP的AOP

什么是AOP

百度AOP解释

说人话

我看了

摘取里面一段话觉得说的很好

什么是 AOP

我个人理解为就是以前所谓的钩子

PHP AOP— 注解

注解在PHP本身其实就是注释,本身并无任何意思,都是给人看的。
为了实现注解,只能让机器也能看懂这个注释,从而达到我预期的效果。
目前 AOP 实现方式我个人总结有两种

  1. 以 PHP Parser 为首的 AST( 抽象语法树 ) 词法语法解析扩展来实现
  2. 使用反射类中的ReflectionClass的getDocComment,然后再结合反射来做
  3. AST
  4. php 代码解析阶段会把代码分词,然后使用AST进行语法分析,转成opcode, 再由zend引擎依次执行拆分好的opcode。所以我们可以在这个阶段作为切入点,在分词后,语法解析也把这段“特殊意义的注释”也让他一起解析,成熟的轮子目前比较出名的就是 PHP-Parser 作为一个php扩展引入后就可以愉快地与AOP玩游戏了
  5. 反射
    通过反射类,读区文件中的注释, 我们定义一些特殊注释 比如 #@# 这个就为注解,在这个特殊符号后的 字符串 为注解类,然后就可以进行一系列操作,比如,这个注解类在正常类跑完才跑注解类的handle方法

文章来源:智云一二三科技

文章标题:记一则关于PHP的AOP

文章地址:https://www.zhihuclub.com/151536.shtml

关于作者: 智云科技

热门文章

网站地图