本文实例讲述了thinkPHP中钩子的两种配置调用方法。分享给大家供大家参考,具体如下:
thinkPHP的钩子行为类是一个比较难以理解的问题,网上有很多写thinkPHP钩子类的文章,我也是根据网上的文章来设置thinkPHP的钩子行为的,但根据这些网上的文章,我在设置的过程中,尝试了十几次都没有成功,不过,我还是没有放弃,最后还是在一边调节细节,一边试验的过程中实现了钩子行为的设置。下面是我个人的设置经验,在这里跟大家分享一下。
个人做了两种设置,都试验成功了,一个简单点,在thinkPHP的核心文件中模仿核心行为类添加了另一个行为类,下面是截图:
我的虚拟主机配置文件夹是D:/think
ThinkPHP是tp框架文件夹,配置过tp框架应该都知道Library是tp放核心文件的文件夹,Behavior文件夹则是tp的钩子行为类文件的核心文件夹,里面放置着很多行为类文件,我只是模仿这些钩子行为类文件在里面建了一个钩子行为类文件adBehavior.class.PHP,内容如下:
PHP;">
PHP
namespace Behavior;
class adBehavior{
function run($arg){
//在此介绍下,run必须的 ,细心的会在Think核心找到Behavior.class.PHP里面有这样一句话 abstract public function run(&$params);
echo '我是一条'.$arg['name'].'广告,'.$arg['value'].'代言';
}
}
设置好了自定义的钩子行为类之后,我们接下来就要利用这个钩子行为类促发钩子的行为了,```钩子的行为```说白了其实就是促发钩子行为类的run方法里面的代码执行,我这里只是简单的输出run方法参数的内容,在应用中的,大家可以自由发挥。
下面是促发行为的操作:
解释一下:我这里是Home模块下面的IndexController控制器的登录方法
'testBehavior');
$param2=array('LIS'=>'LLISTION');
$param3=array('music'=>'cangjingshikong');
$this->assign('param',$param);
$this->assign('param',$param2);
$this->assign('param',$param3);
$this->display();
}
}
下面是login模板内容:
PHP;">
ThinkPHP 行为(Behavior)扩展以及插件(Plug or Hook)详解(含实例)
How to used?
{:hook('ad',array('name'=>'AV','value'=>'*老师'))}————————————————分割线1——————————————————
'MV','value'=>'苍井空老师'))}
————————————————分割线2——————————————————
hook函数:{:hook('test',array('name'=>'World'))}
tag函数:{:tag('mv',$param)}
tag函数:{:tag('action_begin',$param)}