下面由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