1、钩子 和行为
在tags.php 绑定行为
idnex 为行为类 [‘app\demo\behavior\Hello’]为路径
“index” => [‘app\demo\behavior\Hello’],
在控制器监听行为
Hook::listen(‘index’);
在brhavior 写行为类
namespace app\demo\behavior;
class Hello
{
public function run(){
echo "hello world2"."<br/>";
}
public function index(){
echo "hello world1"."<br/>";
}
public function appEnd($params2){
echo "hello world1".$params2."<br/>";
}
}
2、依赖注入
控住器
//依赖注入 name 值会报错
protected $user;
public function __construct(User $user)
{
$this->user = $user;
}
public function index()
{
return 'Hello,' . $this->user->ss . '!';
}
模型
//依赖注入
protected $name;
// 构造方法,调用类时自动运行
public function __construct($name = '默认名称1')
{
$this->ss = $name;
}
控制器
public function index(User $user)
{
$user->setName('PHP中文网');
return $user->getName();
}
模型
//依赖注入
public function setName($name){
$this->name=$name;
}
public function getName(){
return '方法是:'.__METHOD__.'属性是:'.$this->name;
}
3、中间件
https://www.kancloud.cn/xieyongfa123/thinkphp_note/822627