学习ThinkPHP的第23天---门面、钩子与行为
2024-09-01 13:29:06
一、门面(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');//这是一个钩子
}
}
最新文章
- GCD定时器
- Maven:将Jar安装到本地仓库和Jar上传到私服
- STL数组处理常用函数
- Vector[C++]
- MVC3.0 中Razor 学习
- Lua与C/C++交互问题
- PHP - 点击更换头像
- linux cent os putty 问题彻底解决办法
- 移动端 微信 网易 触屏滑动回弹菜单(css版)
- 嵌入javascript脚本的位置
- 【eclipse】eclipse报错:the resource is not on the build path of a java project
- h5页面使用sessionStorage滚动到上次浏览器位置《原创》
- 安装Vmware并破解
- [转]Anatomy of a Program in Memory
- 14Junit、反射、注解
- C# 窗体内有子控件时鼠标检测
- 谷歌浏览器安装octotree插件
- Spark代码中设置appName在client模式和cluster模式中不一样问题
- 【xsy1012】KSHKM的基因工程 AC自动机DP
- Python3.6+nginx+uwsgi部署Django程序到阿里云Ubuntu16.04系统