研究分析ThinkPHP的鉤子、行為擴展和插件機制

下面由thinkphp教程欄目給大家研究分析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
喜歡就支持一下吧
點贊12 分享