thinkphp hook钩子和行为

  • behavior类
<?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不需要监听,自动先执行,其他的钩子包括自定义的钩子需要监听才执行
    }
}

在这里插入图片描述

发布了122 篇原创文章 · 获赞 5 · 访问量 4820

猜你喜欢

转载自blog.csdn.net/weixin_41254345/article/details/104622832