日韩精品欧美激情国产一区_中文无码精品一区二区三区在线_岛国毛片AV在线无码不卡_亞洲歐美日韓精品在線_使劲操好爽好粗视频在线播放_日韩一区欧美二区_八戒八戒网影院在线观看神马_亚洲怡红院在线色网_av无码不卡亚洲电影_国产麻豆媒体MDX

tp5中行為標(biāo)簽位的應(yīng)用

時(shí)間:2017-03-13 00:07:33 類型:PHP
字號:    

tp5中行為的出現(xiàn),為我們想在應(yīng)用前后,模型,控制器初始化前后等想做的一些事情提供了便利[這里的行為在早期框架一般稱為鉤子, 有些現(xiàn)在的框架稱之為中間件].

行為, 就是一些動作,  標(biāo)簽位, 就是可以設(shè)置行為的位置;

可以理解為標(biāo)簽位[適合放置地雷的地方]綁定行為[放一顆地雷, 留一根線鏈著標(biāo)簽].

實(shí)際應(yīng)用如下:

1.  application\common.php文件中

    

use think\Hook;
Hook::listen("action_init",$params);
//在放地雷的位置action_init設(shè)置個(gè)監(jiān)聽器, 一旦運(yùn)行到這個(gè)位置, 就拉線
2. application\tags.php
return [
    // 應(yīng)用初始化
    'app_init'     => ['app\\index\\behavior\\Test'],
 //讓監(jiān)聽的位置的線 連著 地雷
    // 應(yīng)用開始
    'app_begin'    => [],
    // 模塊初始化
    'module_init'  => [],
    // 操作開始執(zhí)行
    'action_begin' => [],
    // 視圖內(nèi)容過濾
    'view_filter'  => [],
    // 日志寫入
    'log_write'    => [],
    // 應(yīng)用結(jié)束
    'app_end'      => [],
];


3. app\index\behavior文件夾下設(shè)置地雷[行為], 當(dāng)運(yùn)行到action_init, 這里就爆炸了


namespace app\index\behavior;
class Test{
	public function appInit(&$params){
		echo "注意: 地雷要爆炸了,</br>";
		if(strpos($_SERVER["HTTP_USER_AGENT"],"MSIE 8.0"))echo "Internet Explorer 8.0";
		else if(strpos($_SERVER["HTTP_USER_AGENT"],"MSIE 7.0"))
		else if(strpos($_SERVER["HTTP_USER_AGENT"],"Opera"))
		echo "Opera";
		else echo $_SERVER["HTTP_USER_AGENT"];
	}
	public function appEnd(&$params)
    {
    	echo "講話結(jié)束了,我宣布散會,大家回去休息吧";
    } 
}


Ok, 到這里, 當(dāng)們在瀏覽器中運(yùn)行時(shí), 一定會經(jīng)過 action_init的位置, 然后就一定會爆炸了