学习ThinkPHP的第23天---门面、钩子与行为

一、门面(facade)

门面在ThinkPHP中可以理解为一个代理商,有了它可以灵活的去使用其中的类。

二、钩子和行为

钩子也可以说是插件,就是程序运行到某个位置,我们用钩子把这个程序截住,去执行所定义的行为,完了以后程序继续往下走。那么钩子具体在哪配置,在哪使用,怎么使用呢?

钩子在应用目录(application)下的tags.php文件中可以配置我们的钩子,钩子可以在程序的任何位置都可以使用,下面简单的演示钩子的使用

1、自定义一个钩子

在tags.php文件中加入我们需要定义的钩子

//自定义钩子
    'new_ming' => [
        app\behavior\Test::class
    ]

2、Test类(行为)

<?php


namespace app\behavior;


class Test
{
    //run方法为系统固定的   配置文件中可以配置  系统默认为run方法
    public function run()
    {
        echo "this is behavior.这是一个钩子的行为";
    }
}

3、使用钩子

比如在控制器中使用我们自定义的钩子

<?php
namespace app\index\controller;

use think\Controller;

class index extends Controller
{
    public function index(){
       app()->hook->listen('new_ming');//这是一个钩子
   }  
}

猜你喜欢

转载自www.cnblogs.com/MingGyGy-Castle/p/11980576.html