久久久久久久视色,久久电影免费精品,中文亚洲欧美乱码在线观看,在线免费播放AV片

<center id="vfaef"><input id="vfaef"><table id="vfaef"></table></input></center>

    <p id="vfaef"><kbd id="vfaef"></kbd></p>

    
    
    <pre id="vfaef"><u id="vfaef"></u></pre>

      <thead id="vfaef"><input id="vfaef"></input></thead>

    1. 站長(zhǎng)資訊網(wǎng)
      最全最豐富的資訊網(wǎng)站

      thinkphp鉤子是什么意思

      thinkphp鉤子是什么意思

      首先,鉤子是一種觸發(fā)機(jī)制,如同一個(gè)陷阱,當(dāng)程序運(yùn)行到某個(gè)地方時(shí)就會(huì)觸發(fā)這個(gè)陷阱,然后執(zhí)行這個(gè)Hook,執(zhí)行完成后,系統(tǒng)根據(jù)執(zhí)行的不同結(jié)果繼續(xù)進(jìn)行。

      那么,thinkphp鉤子(Hook)機(jī)制的原理是什么呢?

      1、框架在ThinkThink->start()方法中調(diào)用Hook類(lèi)中的import方法批量加載模式行為:默認(rèn)為Modelcommon.php中的配置文件,該文件定義行為擴(kuò)展

      thinkphp鉤子是什么意思

      2、通過(guò)Hook:listen()方法監(jiān)聽(tīng)tag標(biāo)記的行為.Hook類(lèi)中定義一個(gè)數(shù)組tags:tag為key;Behavior行為是value.通過(guò)Hook:exec()執(zhí)行該標(biāo)記的行為插件

       /**      * 監(jiān)聽(tīng)標(biāo)簽的插件      * @param string $tag 標(biāo)簽名稱      * @param mixed $params 傳入?yún)?shù)      * @return void      */     static public function listen($tag, &$params=NULL) {         if(isset(self::$tags[$tag])) {             if(APP_DEBUG) {                 G($tag.'Start');                 trace('[ '.$tag.' ] --START--','','INFO');             }             foreach (self::$tags[$tag] as $name) {                 APP_DEBUG && G($name.'_start');                 $result =   self::exec($name, $tag,$params);                 if(APP_DEBUG){                     G($name.'_end');                     trace('Run '.$name.' [ RunTime:'.G($name.'_start',$name.'_end',6).'s ]','','INFO');                 }                 if(false === $result) {                     // 如果返回false 則中斷插件執(zhí)行                     return ;                 }             }             if(APP_DEBUG) { // 記錄行為的執(zhí)行日志                 trace('[ '.$tag.' ] --END-- [ RunTime:'.G($tag.'Start',$tag.'End',6).'s ]','','INFO');             }         }         return;     }      /**      * 執(zhí)行某個(gè)插件      * @param string $name 插件名稱      * @param string $tag 方法名(標(biāo)簽名)           * @param Mixed $params 傳入的參數(shù)      * @return void      */     static public function exec($name, $tag,&$params=NULL) {             if('Behavior' == substr($name,-8) ){             // 行為擴(kuò)展必須用run入口方法             $tag    =   'run';         }         $addon   = new $name();         return $addon->$tag($params);     }

      以上內(nèi)容僅供參考!

      推薦教程:thinkphp教程

      贊(0)
      分享到: 更多 (0)
      網(wǎng)站地圖   滬ICP備18035694號(hào)-2    滬公網(wǎng)安備31011702889846號(hào)