一、门面(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');//这是一个钩子 } }