码迷,mamicode.com
首页 > Web开发 > 详细

关于thinkphp中Hook钩子的解析

时间:2015-04-17 15:11:38      阅读:183      评论:0      收藏:0      [点我收藏+]

标签:

在tp框架下的Library/Think 下有一个Hook类,这个是用来以插件形式来实例化类并且执行方法的

 static private  $tags       =   array();

这里有一个静态私有的成员,这里是所谓的钩子函数数组,里面的具体内容是一个数组

数组格式:array(‘方法名‘=>array(类名,类名),‘方法名‘=>array(类名))

当然单例设计模式中,以一个静态方法来访问这些静态成员无疑是最好不过了所以tp的get方法

技术分享

就很好诠释了这种情况

下面这个add插件的方法

技术分享

这里面就是先判断这个方法标签是否是第一次创建,如果是则 静态区 数组中加上一个key值为tag值 ,value为一个空数组,之后兼容2中写入模式,一种是name为数组一种是字符串的形式,无意是为了构造出上面我说的

那个插件数组

这里面有点奇怪的是他的exe方法里面没有做任何的 类存在和方法存在的判断这里感觉很是奇怪

关于thinkphp中Hook钩子的解析

标签:

原文地址:http://www.cnblogs.com/gavinjunftd/p/4434945.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!