知识大全 PHP系列学习之AOP[2]

Posted

篇首语:知识为进步之母,而进步又为富强之源泉。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 PHP系列学习之AOP[2]相关的知识,希望对你有一定的参考价值。

PHP系列学习之AOP[2]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  AOP 通知类型

  通知代码我们可以用很多中方式表现 我之前提到 这些通知代码依赖你使用的框架 但是有些你需要熟悉的类型 请看下面

  前通知 返回后通知 抛出后通知 周边通知

  前通知

  在你的代码中一些特殊点之前使用通知 正常是调用一个方法

  迄今为止 为了简化概念和为了让你更快的理解你的代码 我经常把通知写到方法里 但是在真实的环境里 通知经常是不写在方法里的 应该有一个独立的控制器 每个方法都在这个控制器里 而且每个方法都包裹着AOP的功能 这个全局的控制器运行在整个系统里 而且对我们是不可见的

  <?php

  class PathController

  

  function controlPaths($className $funcName)

  Authentication::checkAuthentication()

  $classObj = new $className()

  $classObj >$funcName()

  

  

  在这里假设有这么一个类 主要是用于给你展现这个类实际上发生了什么事情 假设那个controlPaths方法是应用中全局切入点 访问应用中的每个方法都需要通过这个方法访问 上面的方法中在执行每个方法之前 我们调用了通知checkAuthentication() 这就是前通知

  返回后通知

  这个通知在指定功能执行完后只执行一次 并且返回那个访问点 考虑下面的代码

  <?php

  class PathController

  

  function controlPaths($className $funcName)

  $classObj = new $className()

  $classObj >$funcName()

  Database::closeConnection()

  

  

  注意这里 当方法完成之后 我们清理了数据库资源 在返回通知之后 我们调用这个通知

  抛出后通知

  如果在执行进程期间函数抛出异常 那么在抛出完异常之后应用通知 这里是抛出完异常之后 通知就变成错误提示

  <?php

  class PathController

  

  function controlPaths($className $funcName)

  try

  $classObj = new $className()

  $classObj >$funcName()

  

  catch (Exception $e)

  Error::reportError()

  

  

  

  周边通知

  第四种通知是周边通知 他是前通知和返回后通知的合并体

  <?php

  class PathController

  

  function controlPaths($className $funcName)

  Logger::startLog()

  $classObj = new $className()

  $classObj >$funcName()

  Logger::endLog()

  

  

cha138/Article/program/PHP/201311/21641

相关参考

知识大全 PHP系列学习之日期函数[2]

PHP系列学习之日期函数[2]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  通过字符获取时间戳

知识大全 PHP系列学习之日期函数[1]

PHP系列学习之日期函数[1]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  介绍  PHP是一

知识大全 JavaScript学习之代码解释

JavaScript学习之代码解释  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!lishixinz

知识大全 Jakarta Struts学习之实战演示

JakartaStruts学习之实战演示  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  Acti

知识大全 Spring MVC学习之注解介绍

SpringMVC学习之注解介绍  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  spring的注

知识大全 Jakarta Struts学习之应用实践

JakartaStruts学习之应用实践  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  本文是三

知识大全 家长督促孩子学习之余如何沟通

家长督促孩子学习之余如何沟通尊敬的各位家长:大家好!今天,因为孩子,我们再次走到了一起,首先,对各位家长能在百忙之中抽出时间来参加这次家长会表示衷心的感谢!转眼间,我和您的孩子相处已有一个月了。在各位

知识大全 ASP.NET学习之结构和类

ASP.NET学习之结构和类  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  一class是引用类

知识大全 ASP.NET学习之常用基础知识

ASP.NET学习之常用基础知识  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  一公共变量和属性

知识大全 C#学习之——认识C#的内部类

C#学习之——认识C#的内部类  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  C#中的内部类能够