免费门户网站制作:记一则关于PHP的AOP
本文摘要: 什么是AOP百度AOP解释说人话我看了摘取里边一段话觉得说的很好?什么是 AOP?再说 AOP 之前,肯定都知道 OOP 是什么,面向对象编程。那么 AOP 就是 面向切面编程,通过预编译方式或运转期动态代理等技能完成程序功用的统一维护的一

什么是AOP


百度AOP解释



说人话


我看了



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

?

什么是 AOP?


再说 AOP 之前,肯定都知道 OOP 是什么,面向对象编程。那么 AOP 就是 面向切面编程,
通过预编译方式或运转期动态代理等技能完成程序功用的统一维护的一种技能。
OOP 是针对事务处理过程的实体及其属性和行为进行笼统和封装,以取得更加明晰高效的逻辑单元划分
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方法

?

【免责声明】本文仅代表作者或发布者个人观念,不代表(www.lmnkf.cn)及其所属公司官方发声,对文章观念有疑义请先联络作者或发布者自己修正,若内容触及侵权或违法信息,请先联络发布者或作者删除,若需我们协助请联络平台管理员,Emailcxb5918(本平台不支撑其他投诉反馈渠道,谢谢合作)。若需要学习以上相关常识请到巨推学院观看视频教程,网站地址www.tsllg.cn。

相关内容