<?php
namespace app\api\controller\v1;
class Hoo{
public function run()//run会被appInit覆盖
{
echo 'hook run ';
}
public function appInit()
{
echo 'hook appinit ';
}
public function appEnd()
{
echo 'hook appEnd ';
}
public function appBegin()
{
echo 'hook appBegin ';
}
public function defineMyself()
{
echo 'hook defineMyself ';
}
}
<?php
namespace app\api\controller\v1;
use think\facade\Hook;
class Test
{
public function __construct()
{
Hook::add('app_init','app\api\controller\v1\Hoo');
Hook::add('app_end','app\api\controller\v1\Hoo');
Hook::add('app_begin','app\api\controller\v1\Hoo');
Hook::add('define_myself','app\api\controller\v1\Hoo');
}
public function hello()
{
echo 'hello test';
Hook::listen('define_myself');//app_end不需要监听,自动先执行,其他的钩子包括自定义的钩子需要监听才执行
}
}