<?php
/**
* Created by ahai
* Time: 2018年9月29日 0029 上午 9:30
* Email: <764882431@qq.com>
*/
namespace app\admin\behavior;
use think\Request;
class Test
{
//引入jump类
//use \traits\controller\Jump;
//行为入口执行方法,
public function run(Request $request, $params)
{
//sleep(1);
// 行为逻辑
echo "<br/>";
//echo $request->path();
//echo "<br/>";
//echo $params;
//echo "<br/>";
echo "test行为:";echo microtime();
echo "<br/>";
// return $this->redirect("\login");
}
}行为入口方法run();-->就是入口执行方法<?php
//行为中有多个类时,执行顺序:从上到下
// 应用行为扩展定义文件
return [
// 应用初始化
'app_init'=> [
'app\\admin\\behavior\\Test',
'app\\admin\\behavior\\Check'
],
// 应用开始
'app_begin' => [],
// 模块初始化
'module_init' => [
],
// 操作开始执行 【前置中间件在这个之前】
'action_begin' => [
],
// 视图内容过滤
'view_filter' => [
],
// 日志写入
'log_write' => [
],
// 应用结束【后置中间件在这个之前】
'app_end' => [
'app\\admin\\behavior\\Check'
],
];这样就可以了,当应用走到那个位置就执行那个行为namespace app\index\behavior;
class Test
{
public function appInit($params)
{
}
public function appEnd($params)
{
}
}行为的监听、执行:public function index()
{
echo "<br/>监听行为:Hook::Listen监听之前记得要先把行为注册,可以在tags.php中主册,也可以使用Hook::add()注册-----------------";
$params = 'ahai';
\Hook::add('app_init',['app\\admin\\behavior\\Check','app\\admin\\behavior\\Test']);
\Hook::listen('app_init',$params);
echo "<br/>直接执行行为文件【不管有没有注册,我就是执行行为文件】:-----------------";
\Hook::exec('app\\admin\\behavior\\Test',$params);
//return $this->fetch();
}
ThinkPHP 是一个免费开源的,快速、简单的面向对象的 轻量级PHP开发框架 ,创立于2006年初,遵循Apache2开源协议发布,是为了敏捷WEB应用开发和简化企业应用开发而诞生的。ThinkPHP从诞生以来一直秉承简洁实用的设计原则,在保持出色的性能和至简的代码的同时,也注重易用性。并且拥有众多的原创功能和特性,在社区团队的积极参与下,在易用性、扩展性和性能方面不断优化和改进,已经成长为国内最领先和最具影响力的WEB应用开发框架,众多的典型案例确保可以稳定用于商业以及门户级的开发。