<center id="5qcbq"></center>

<thead id="5qcbq"></thead><bdo id="5qcbq"><tbody id="5qcbq"></tbody></bdo>
  • <rt id="5qcbq"><tr id="5qcbq"></tr></rt>
    <li id="5qcbq"><tbody id="5qcbq"></tbody></li>
    <label id="5qcbq"><xmp id="5qcbq"><bdo id="5qcbq"></bdo>
    <bdo id="5qcbq"></bdo>
    <thead id="5qcbq"></thead>
    <bdo id="5qcbq"><meter id="5qcbq"></meter></bdo>

    <label id="5qcbq"></label>

    \r\n

    How to used?<\/h1>\r\n{:hook('ad', array('name'=>'AV','value'=>'*老師'))}\r\n
    ————————————————分割線1——————————————————<\/div>\r\n{:hook('ad', array('name'=>'MV','value'=>'蒼井空老師'))}<\/div>\r\n
    ————————————————分割線2——————————————————<\/div>\r\n  \r\n  \r\n
    hook函數(shù):{:hook('test', array('name'=>'World'))}<\/div>\r\n
    tag函數(shù):{:tag('mv',$param)}<\/div>\r\n\r\n
    tag函數(shù):{:tag('action_begin',$param)}<\/div>\r\n<\/body>\r\n<\/html><\/pre>

    這里的路徑我就不寫了吧,一般對(duì)tp框架了解的人都知道,這個(gè)模板login.html放在哪里。<\/p>

    關(guān)于這個(gè)模板的內(nèi)容,我已經(jīng)提前把下面要講述的另一種設(shè)置鉤子行為類方法的內(nèi)容也放在這里了,大家可以自行測(cè)試一下調(diào)用這個(gè)模板,如果你跟著我的思路設(shè)置了,我想它應(yīng)該會(huì)輸出:<\/p>

    How to used?\r\n我是一條AV廣告,*老師代言\r\n \r\n————————————————分割線1——————————————————\r\n我是一條MV廣告,蒼井空老師代言\r\n————————————————分割線2——————————————————<\/pre>

    呵呵,這里引用蒼老師的作用,你懂的。<\/p>

    廢話不多說,下面是第二種自己設(shè)置行為類的方法,這里我是根據(jù)tp框架的手冊(cè)以及諸位網(wǎng)友的網(wǎng)文自己測(cè)試成功了的,大家按照我的思路設(shè)置就行了。只有你配置對(duì)了,我想應(yīng)該不會(huì)出現(xiàn)太多問題。<\/p>

    1、首先在你的模塊下面建一個(gè)文件夾Behaviors,再在Behaviors里面創(chuàng)建自定義的鉤子行為類,鉤子行為類必須是xxxBehaviors.class.php的格式。<\/p>

    2、其次在你的模塊下面的Conf文件夾中新增一個(gè)文件tags.php。為什么要這樣,這是tp的語法,你照做就行了,當(dāng)然你自己也可以探究一下。<\/p>

    這樣子說或許還不夠形象,下面我還是上代碼吧,本人描述比較差。<\/p>

    解釋一下上面的文件夾,Conf文件夾有的tp會(huì)自動(dòng)生成,有的可能要你新建,Behaviors文件夾則是要你新建的,下面還是上代碼:<\/p>

    在Behaviors文件夾里面(完整路徑D:\\think\\application\\Home\\Behaviors\\testBehavior.class.php)我自定義的鉤子行為類的內(nèi)容:<\/p>

    '.$arg['name'];\r\n  }\r\n}<\/pre>

    在Conf文件夾里面(完整路徑D:\\think\\application\\Home\\Conf\\tags.php,當(dāng)然這是我的情況)tags.php的內(nèi)容:<\/p>

    array('Home\\\\Behaviors\\\\test','Home\\\\Behaviors\\\\test'),\r\n  \/\/一個(gè)標(biāo)簽位可以有多個(gè)行為,使用數(shù)組即可。\r\n  \/\/ 如果是3.2.1版本 則需要改成\r\n  'action_begin'=>array('Home\\\\Behaviors\\\\testBehavior','Home\\\\Behaviors\\\\testBehavior'),\r\n  'mv'=>array('Home\\\\Behaviors\\\\mvBehavior','Home\\\\Behaviors\\\\mvBehavior')\r\n);<\/pre>

    解釋一下,上面tags.php文件的內(nèi)容,我配置了兩個(gè)行為標(biāo)識(shí),``action_begin``,``mv``,是跟login.html那里相對(duì)應(yīng)的,你可以回去仔細(xì)查看一下,login.html模板的內(nèi)容,必定包含有``action_begin``,``mv``,這里也是tp框架在tags.php設(shè)置行為標(biāo)識(shí)的語法,要是想問為什么可以自行探究,這里不多說。<\/p>

    還有請(qǐng)注意:上面那個(gè)被我注釋掉的‘a(chǎn)ction_begin',其實(shí)是我的版本不適合這個(gè)語法,這是其他版本在tags.php配置行為標(biāo)識(shí)的語法,這里tp里面的文檔說的比較清楚,我就不多說了。如果,你的版本和我不同,那么請(qǐng)用上面的語法嘗試一下,如果用上面的語法配置還是沒辦法配置成功,那么可能是你配置錯(cuò)了。<\/p>

    配置好了,那么請(qǐng)你再嘗試調(diào)用模板login.html。我相信你一定能獲得你想要的配置結(jié)果的。<\/p>

    這里提醒一句,請(qǐng)認(rèn)真看我所做的注釋,那里可以說也包含了很多信息。<\/p>

    接下來,我要講講設(shè)置監(jiān)聽鉤子行為類的兩個(gè)方法hook(),tag():<\/p>

    這兩個(gè)函數(shù)都是tp內(nèi)置監(jiān)聽鉤子行為類的內(nèi)置函數(shù),可以在tp框架的函數(shù)庫functions.php文件中找得到。這里只講他們的調(diào)用區(qū)別,其實(shí)已經(jīng)在login.html模板文件中提到了,這里就再次說明一下:<\/p>

    兩個(gè)函數(shù)在functions.php的代碼:<\/p>

    \/**\r\n * 獲取和設(shè)置配置參數(shù) 支持批量定義\r\n * @param string|array $name 配置變量\r\n * @param mixed $value 配置值\r\n * @param mixed $default 默認(rèn)值\r\n * @return mixed\r\n *\/\r\nfunction hook($hook,$params=array()){\r\n  \\Think\\Hook::listen($hook,$params); \/\/監(jiān)聽一個(gè)鉤子\r\n}\r\n\/**\r\n * 處理標(biāo)簽擴(kuò)展\r\n * @param string $tag 標(biāo)簽名稱\r\n * @param mixed $params 傳入?yún)?shù)\r\n * @return void\r\n *\/\r\nfunction tag($tag, &$params=NULL) {\r\n  \\Think\\Hook::listen($tag,$params);\r\n}<\/pre>

    之所以在這里展示一下這兩個(gè)函數(shù)的內(nèi)容,是為了解釋它們的區(qū)別:<\/p>

    細(xì)心的你應(yīng)該發(fā)現(xiàn)tag函數(shù)的$param參數(shù)值里前面帶了一個(gè)···&···符號(hào),沒有錯(cuò):這個(gè)符號(hào)就是引用變量的地址符號(hào),所以tag函數(shù)的$param參數(shù)只能是變量,請(qǐng)不要懷疑,你可以測(cè)試一下不是變量的情況,呵呵。<\/p>

    它們的區(qū)別也在于此,hook可以引用任何參數(shù),tag只能引用變量的參數(shù)<\/p>

    上面那個(gè)tags.php文件里面我在每個(gè)標(biāo)簽行為的后面都重復(fù)配置了testBehavior自定義類,是為了證明,一個(gè)標(biāo)簽也可以對(duì)應(yīng)多個(gè)行為類,如果你配置成功了,那么你運(yùn)行l(wèi)ogin.html的時(shí)候,肯定發(fā)現(xiàn)login根據(jù)testBehavior設(shè)置的執(zhí)行了兩次。<\/p>

    最后,總結(jié)一下:<\/p>

    其實(shí),我想說,tp框架的鉤子行為類無非就是為了在某個(gè)特定地點(diǎn),特定時(shí)間促發(fā)某種行為,這個(gè)是應(yīng)用很廣的,本人姑且這么認(rèn)為。比如,你想要在某個(gè)模板植入廣告,可以向我這樣子簡單的設(shè)置。<\/p>

    然后,簡單的介紹tp行為的引用步驟:<\/p>

    首先第一步,你要先配置好自己的行為類,這是毋庸置疑的。<\/p>

    其次是促發(fā)的行為,你必須在你自定義的行為類的run里面設(shè)置,在這里實(shí)現(xiàn)你的任何行為,run方法就是你配置行為的地方。<\/p>

    然后,就是配置tags.php的行為標(biāo)識(shí)了,這里你可以按照上面格式配置,當(dāng)然,你有沒有細(xì)心的發(fā)現(xiàn)上面的IndexController.class.php里面我多寫了幾行代碼:<\/p>

    \/\/第一個(gè)是執(zhí)行標(biāo)簽的名稱,第二個(gè)參數(shù)是行為的類的地址\r\nHook::add('test', \"Home\\\\Behaviors\\\\testBehavior\");<\/pre>

    ? ?<\/p>\n

    <\/p>\n

    其實(shí)這里是動(dòng)態(tài)添加行為標(biāo)識(shí)的代碼,也就是說,鉤子行為的標(biāo)簽行為,也就是標(biāo)識(shí)也可以動(dòng)態(tài)添加的,你可以試試。<\/p>\n

    最后,就是監(jiān)聽行為了,監(jiān)聽行為就是引用tag方法或者h(yuǎn)ook方法了,在這里你可以傳入?yún)?shù),也可不傳,看你想怎么做了。監(jiān)聽行為你可以在模板上監(jiān)聽,也可以在其他地方監(jiān)聽,比如控制器的方法中,這里就不舉例了,你可以自己試試,我之所以在模板中舉例,完全是為了看到效果,畢竟做實(shí)驗(yàn)看不到你要的結(jié)果,是證明不了你的實(shí)驗(yàn)是個(gè)成功的實(shí)驗(yàn)的。<\/p>\n

    希望本文所述對(duì)大家基于ThinkPHP框架的PHP程序設(shè)計(jì)有所幫助。<\/p>\n

    更多thinkPHP中鉤子的兩種配置調(diào)用方法詳解相關(guān)文章請(qǐng)關(guān)注PHP中文網(wǎng)!<\/p>"}

    国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

    Home php教程 PHP開發(fā) Detailed explanation of the two configuration calling methods of hooks in thinkPHP

    Detailed explanation of the two configuration calling methods of hooks in thinkPHP

    Dec 30, 2016 am 09:40 AM

    本文實(shí)例講述了thinkPHP中鉤子的兩種配置調(diào)用方法。分享給大家供大家參考,具體如下:

    thinkphp的鉤子行為類是一個(gè)比較難以理解的問題,網(wǎng)上有很多寫thinkphp鉤子類的文章,我也是根據(jù)網(wǎng)上的文章來設(shè)置thinkphp的鉤子行為的,但根據(jù)這些網(wǎng)上的文章,我在設(shè)置的過程中,嘗試了十幾次都沒有成功,不過,我還是沒有放棄,最后還是在一邊調(diào)節(jié)細(xì)節(jié),一邊試驗(yàn)的過程中實(shí)現(xiàn)了鉤子行為的設(shè)置。下面是我個(gè)人的設(shè)置經(jīng)驗(yàn),在這里跟大家分享一下。

    個(gè)人做了兩種設(shè)置,都試驗(yàn)成功了,一個(gè)簡單點(diǎn),在thinkphp的核心文件中模仿核心行為類添加了另一個(gè)行為類,下面是截圖:

    我的虛擬主機(jī)配置文件夾是D:/think

    Thinkphp是tp框架文件夾,配置過tp框架應(yīng)該都知道Library是tp放核心文件的文件夾,Behavior文件夾則是tp的鉤子行為類文件的核心文件夾,里面放置著很多行為類文件,我只是模仿這些鉤子行為類文件在里面建了一個(gè)鉤子行為類文件adBehavior.class.php,內(nèi)容如下:

    <?php
    namespace Behavior;
    class adBehavior{
      function run($arg){
    //在此介紹下,run必須的 ,細(xì)心的會(huì)在Think核心找到Behavior.class.php里面有這樣一句話 abstract public function run(&$params);
        echo &#39;我是一條&#39;.$arg[&#39;name&#39;].&#39;廣告,&#39;.$arg[&#39;value&#39;].&#39;代言&#39;;
      }
    }

    設(shè)置好了自定義的鉤子行為類之后,我們接下來就要利用這個(gè)鉤子行為類促發(fā)鉤子的行為了,```鉤子的行為```說白了其實(shí)就是促發(fā)鉤子行為類的run方法里面的代碼執(zhí)行,我這里只是簡單的輸出run方法參數(shù)的內(nèi)容,在應(yīng)用中的,大家可以自由發(fā)揮。

    下面是促發(fā)行為的操作:

    解釋一下:我這里是Home模塊下面的IndexController控制器的登錄方法

    namespace Home\Controller;
    use Think\Controller;
    use Think\Hook;//引進(jìn)促發(fā)鉤子行為的類,是為下面的Hook::add()調(diào)用做伏筆的
    class IndexController extends Controller {
      public function login(){
        //這里我設(shè)置一個(gè)ad行為的標(biāo)簽,也就是給我自定義的adBehavior鉤子行為類添加一個(gè)促發(fā)行為的標(biāo)識(shí)
        Hook::add(&#39;ad&#39;,&#39;Behavior\\adBehavior&#39;);
        //第一個(gè)是執(zhí)行標(biāo)簽的名稱,第二個(gè)參數(shù)是行為的類的地址
        Hook::add(&#39;test&#39;, "Home\\Behaviors\\testBehavior");
        //Hook::add(&#39;test2&#39;, "Home\\Behaviors\\testBehavior");
        $param=array(&#39;name&#39;=>&#39;testBehavior&#39;);
        $param2=array(&#39;LIS&#39;=>&#39;LLISTION&#39;);
        $param3=array(&#39;music&#39;=>&#39;cangjingshikong&#39;);
        $this->assign(&#39;param&#39;,$param);
        $this->assign(&#39;param&#39;,$param2);
        $this->assign(&#39;param&#39;,$param3);
        $this->display();
      }
    }

    下面是login模板內(nèi)容:

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
      <title>ThinkPHP 行為(Behavior)擴(kuò)展以及插件(Plug or Hook)詳解(含實(shí)例)
      </title>
      <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
      <meta name="description" content="Hook使用方法" />
    </head>
    <body>
    <h1>How to used?</h1>
    {:hook(&#39;ad&#39;, array(&#39;name&#39;=>&#39;AV&#39;,&#39;value&#39;=>&#39;*老師&#39;))}
    <div>————————————————分割線1——————————————————</div>
    <div style="font-weight: bold ;color: #00ff00">{:hook(&#39;ad&#39;, array(&#39;name&#39;=>&#39;MV&#39;,&#39;value&#39;=>&#39;蒼井空老師&#39;))}</div>
    <div>————————————————分割線2——————————————————</div>
      <!--hook函數(shù)第一個(gè)參數(shù)是標(biāo)簽的名稱,第二個(gè)參數(shù)隨意-->
      <!--tag函數(shù)第一個(gè)參數(shù)是標(biāo)簽的名稱,第二個(gè)一定是變量,因?yàn)閠ag函數(shù)是引址傳遞的參數(shù)-->
    <div>hook函數(shù):{:hook(&#39;test&#39;, array(&#39;name&#39;=>&#39;World&#39;))}<hr/></div>
    <div>tag函數(shù):{:tag(&#39;mv&#39;,$param)}<hr/></div>
    <hr/>
    <div>tag函數(shù):{:tag(&#39;action_begin&#39;,$param)}</div>
    </body>
    </html>

    這里的路徑我就不寫了吧,一般對(duì)tp框架了解的人都知道,這個(gè)模板login.html放在哪里。

    關(guān)于這個(gè)模板的內(nèi)容,我已經(jīng)提前把下面要講述的另一種設(shè)置鉤子行為類方法的內(nèi)容也放在這里了,大家可以自行測(cè)試一下調(diào)用這個(gè)模板,如果你跟著我的思路設(shè)置了,我想它應(yīng)該會(huì)輸出:

    How to used?
    我是一條AV廣告,*老師代言
     
    ————————————————分割線1——————————————————
    我是一條MV廣告,蒼井空老師代言
    ————————————————分割線2——————————————————

    呵呵,這里引用蒼老師的作用,你懂的。

    廢話不多說,下面是第二種自己設(shè)置行為類的方法,這里我是根據(jù)tp框架的手冊(cè)以及諸位網(wǎng)友的網(wǎng)文自己測(cè)試成功了的,大家按照我的思路設(shè)置就行了。只有你配置對(duì)了,我想應(yīng)該不會(huì)出現(xiàn)太多問題。

    1、首先在你的模塊下面建一個(gè)文件夾Behaviors,再在Behaviors里面創(chuàng)建自定義的鉤子行為類,鉤子行為類必須是xxxBehaviors.class.php的格式。

    2、其次在你的模塊下面的Conf文件夾中新增一個(gè)文件tags.php。
    為什么要這樣,這是tp的語法,你照做就行了,當(dāng)然你自己也可以探究一下。

    這樣子說或許還不夠形象,下面我還是上代碼吧,本人描述比較差。

    解釋一下上面的文件夾,Conf文件夾有的tp會(huì)自動(dòng)生成,有的可能要你新建,Behaviors文件夾則是要你新建的,下面還是上代碼:

    在Behaviors文件夾里面(完整路徑D:\think\application\Home\Behaviors\testBehavior.class.php)我自定義的鉤子行為類的內(nèi)容:

    <?php
    /**
     * Created by PhpStorm.
     * User: Administrator
     * Date: 2016/7/17
     * Time: 11:02
     */
    namespace Home\Behaviors;
    /*
     * 注冊(cè)鉤子行為類,要觸發(fā)的行為寫在run函數(shù)里
     * */
    class testBehavior extends \Think\Behavior{
      public function run(&$arg){
        echo &#39;test behavior=====下一行是參數(shù)<br/>&#39;.$arg[&#39;name&#39;];
      }
    }

    在Conf文件夾里面(完整路徑D:\think\application\Home\Conf\tags.php,當(dāng)然這是我的情況)tags.php的內(nèi)容:

    <?php
    /**
     * Created by zhuowenfeng.
     * User: Administrator
     * Date: 2016/7/17
     * Time: 10:56
     */
    return array(
    //&#39;action_begin&#39;=>array(&#39;Home\\Behaviors\\test&#39;,&#39;Home\\Behaviors\\test&#39;),
      //一個(gè)標(biāo)簽位可以有多個(gè)行為,使用數(shù)組即可。
      // 如果是3.2.1版本 則需要改成
      &#39;action_begin&#39;=>array(&#39;Home\\Behaviors\\testBehavior&#39;,&#39;Home\\Behaviors\\testBehavior&#39;),
      &#39;mv&#39;=>array(&#39;Home\\Behaviors\\mvBehavior&#39;,&#39;Home\\Behaviors\\mvBehavior&#39;)
    );

    解釋一下,上面tags.php文件的內(nèi)容,我配置了兩個(gè)行為標(biāo)識(shí),``action_begin``,``mv``,是跟login.html那里相對(duì)應(yīng)的,你可以回去仔細(xì)查看一下,login.html模板的內(nèi)容,必定包含有``action_begin``,``mv``,這里也是tp框架在tags.php設(shè)置行為標(biāo)識(shí)的語法,要是想問為什么可以自行探究,這里不多說。

    還有請(qǐng)注意:上面那個(gè)被我注釋掉的‘a(chǎn)ction_begin',其實(shí)是我的版本不適合這個(gè)語法,這是其他版本在tags.php配置行為標(biāo)識(shí)的語法,這里tp里面的文檔說的比較清楚,我就不多說了。如果,你的版本和我不同,那么請(qǐng)用上面的語法嘗試一下,如果用上面的語法配置還是沒辦法配置成功,那么可能是你配置錯(cuò)了。

    配置好了,那么請(qǐng)你再嘗試調(diào)用模板login.html。我相信你一定能獲得你想要的配置結(jié)果的。

    這里提醒一句,請(qǐng)認(rèn)真看我所做的注釋,那里可以說也包含了很多信息。

    接下來,我要講講設(shè)置監(jiān)聽鉤子行為類的兩個(gè)方法hook(),tag():

    這兩個(gè)函數(shù)都是tp內(nèi)置監(jiān)聽鉤子行為類的內(nèi)置函數(shù),可以在tp框架的函數(shù)庫functions.php文件中找得到。這里只講他們的調(diào)用區(qū)別,其實(shí)已經(jīng)在login.html模板文件中提到了,這里就再次說明一下:

    兩個(gè)函數(shù)在functions.php的代碼:

    /**
     * 獲取和設(shè)置配置參數(shù) 支持批量定義
     * @param string|array $name 配置變量
     * @param mixed $value 配置值
     * @param mixed $default 默認(rèn)值
     * @return mixed
     */
    function hook($hook,$params=array()){
      \Think\Hook::listen($hook,$params); //監(jiān)聽一個(gè)鉤子
    }
    /**
     * 處理標(biāo)簽擴(kuò)展
     * @param string $tag 標(biāo)簽名稱
     * @param mixed $params 傳入?yún)?shù)
     * @return void
     */
    function tag($tag, &$params=NULL) {
      \Think\Hook::listen($tag,$params);
    }

    之所以在這里展示一下這兩個(gè)函數(shù)的內(nèi)容,是為了解釋它們的區(qū)別:

    細(xì)心的你應(yīng)該發(fā)現(xiàn)tag函數(shù)的$param參數(shù)值里前面帶了一個(gè)···&···符號(hào),沒有錯(cuò):這個(gè)符號(hào)就是引用變量的地址符號(hào),所以tag函數(shù)的$param參數(shù)只能是變量,請(qǐng)不要懷疑,你可以測(cè)試一下不是變量的情況,呵呵。

    它們的區(qū)別也在于此,hook可以引用任何參數(shù),tag只能引用變量的參數(shù)

    上面那個(gè)tags.php文件里面我在每個(gè)標(biāo)簽行為的后面都重復(fù)配置了testBehavior自定義類,是為了證明,一個(gè)標(biāo)簽也可以對(duì)應(yīng)多個(gè)行為類,如果你配置成功了,那么你運(yùn)行l(wèi)ogin.html的時(shí)候,肯定發(fā)現(xiàn)login根據(jù)testBehavior設(shè)置的執(zhí)行了兩次。

    最后,總結(jié)一下:

    其實(shí),我想說,tp框架的鉤子行為類無非就是為了在某個(gè)特定地點(diǎn),特定時(shí)間促發(fā)某種行為,這個(gè)是應(yīng)用很廣的,本人姑且這么認(rèn)為。比如,你想要在某個(gè)模板植入廣告,可以向我這樣子簡單的設(shè)置。

    然后,簡單的介紹tp行為的引用步驟:

    首先第一步,你要先配置好自己的行為類,這是毋庸置疑的。

    其次是促發(fā)的行為,你必須在你自定義的行為類的run里面設(shè)置,在這里實(shí)現(xiàn)你的任何行為,run方法就是你配置行為的地方。

    然后,就是配置tags.php的行為標(biāo)識(shí)了,這里你可以按照上面格式配置,當(dāng)然,你有沒有細(xì)心的發(fā)現(xiàn)上面的IndexController.class.php里面我多寫了幾行代碼:

    //第一個(gè)是執(zhí)行標(biāo)簽的名稱,第二個(gè)參數(shù)是行為的類的地址
    Hook::add(&#39;test&#39;, "Home\\Behaviors\\testBehavior");

    ? ?

    其實(shí)這里是動(dòng)態(tài)添加行為標(biāo)識(shí)的代碼,也就是說,鉤子行為的標(biāo)簽行為,也就是標(biāo)識(shí)也可以動(dòng)態(tài)添加的,你可以試試。

    最后,就是監(jiān)聽行為了,監(jiān)聽行為就是引用tag方法或者h(yuǎn)ook方法了,在這里你可以傳入?yún)?shù),也可不傳,看你想怎么做了。監(jiān)聽行為你可以在模板上監(jiān)聽,也可以在其他地方監(jiān)聽,比如控制器的方法中,這里就不舉例了,你可以自己試試,我之所以在模板中舉例,完全是為了看到效果,畢竟做實(shí)驗(yàn)看不到你要的結(jié)果,是證明不了你的實(shí)驗(yàn)是個(gè)成功的實(shí)驗(yàn)的。

    希望本文所述對(duì)大家基于ThinkPHP框架的PHP程序設(shè)計(jì)有所幫助。

    更多thinkPHP中鉤子的兩種配置調(diào)用方法詳解相關(guān)文章請(qǐng)關(guān)注PHP中文網(wǎng)!

    Statement of this Website
    The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

    Hot AI Tools

    Undress AI Tool

    Undress AI Tool

    Undress images for free

    Undresser.AI Undress

    Undresser.AI Undress

    AI-powered app for creating realistic nude photos

    AI Clothes Remover

    AI Clothes Remover

    Online AI tool for removing clothes from photos.

    Clothoff.io

    Clothoff.io

    AI clothes remover

    Video Face Swap

    Video Face Swap

    Swap faces in any video effortlessly with our completely free AI face swap tool!

    Hot Tools

    Notepad++7.3.1

    Notepad++7.3.1

    Easy-to-use and free code editor

    SublimeText3 Chinese version

    SublimeText3 Chinese version

    Chinese version, very easy to use

    Zend Studio 13.0.1

    Zend Studio 13.0.1

    Powerful PHP integrated development environment

    Dreamweaver CS6

    Dreamweaver CS6

    Visual web development tools

    SublimeText3 Mac version

    SublimeText3 Mac version

    God-level code editing software (SublimeText3)

    Hot Topics

    PHP Tutorial
    1502
    276