下面由thinkphp教程栏目给大家研究分析thinkphp的钩子、行为扩展和插件机制,希望对需要的朋友有所帮助!
thinkphp的钩子、行为扩展和插件机制
return Array( 'mytest' => array('PortalBehaviortestBehavior'), );
ThinkHook::add('action_begin','HomeBehaviorstest1Behavior');
ThinkHook::add('action_begin','HomeBehaviorstest1Behavior');
static public function exec($name, $tag,&$params=NULL) { if('Behavior' == substr($name,-8) ){ // 行为扩展必须用run入口方法 $class = $name; $tag = 'run'; }else{ $class = "plugins{$name}{$name}Plugin"; } if(class_exists($class)){ //ThinkCMF NOTE 插件或者行为存在时才执行 $addon = new $class(); return $addon->$tag($params); } }
ThinkHook::listen('标签名'[,参数]); tag('标签名'[,参数]);
<?php namespace HomeBehaviors; class testBehavior extends ThinkBehavior{ //行为执行入口 public function run(&$param){ } }
<?php namespace plugins est; use CommonLibPlugin; class testPlugin extends Plugin { public function mytest($param){ echo 'this is plugin test-mytest'; } public function yourtest($param){ echo 'this is plugin test-yourtest'; //另一个插件钩子的执行入口 } }
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END