官网
教程
文档
官网文档
小程序集群与uniapp
小程序app接口教程
冰蓝世界版
阿赖耶识与随风版
网站首页
齐博X1教程专栏
文章列表
推荐
齐博首创钩子的使用方法
超级蜘蛛查
2024-02-28 16:28:56
254
齐博X1有两套钩子体系,第一套是基于TP思路设计的。跟外面的大同小异。现在重点讲一下第二套我们首创的使用方法。 首先说一下如何埋钩子,这个跟TP思路的钩子类似,就是在页面的任何地方加入如下代码即可 如下图  `$this->get_hook('index_begin',$data=[],$this->user);` 它其实有5个参数, 第一个参数就是钩子标志,必须要唯一的, 第二个是参数`$data`是可以改变其值的,一般用在POST表单的变量,比如发表的时候,你可以中途篡改其中的某项值 第三个`$info`一般指从数据库取出的资料, 第四个`$array` 是综合项,比如里边有id fid之类的值, 第五项只能设置 `true` 或 `false` 默认是true 即同时调用 公共的文件 否则只能调用本频道插件的文件。 建议大家在开发频道或应用的时候,尽可能的多预留接口,埋好钩子,方便别人扩展二开。这个不会影响网站整体速度,因为这个不是预加载的,是访问到此页面的时候,才加载的。 ***** 下面再讲解一下如何使用? 如上图的文件`\application\common\controller\IndexBase.php` 里边加了一个`index_begin` 标志的钩子,那么就可以 创建目录` \application\common\ext\index_begin\` 在里边随便创建一个PHP文件,就可以实现钩子的调用了。 php的文件名必须是字母或数字或下画线或横杠线即负号 如下图  这种是把文件放在common目录是全站都能公用的。如果你的钩子文件只为具体某个频道考虑的话,就可以不要占用公共目录的资源,而只放在自己所在频道或插件目录即可。比如你只针对商城的钩子,就可以只在商城里边创建目录,如下所示: `\application\shop\ext\index_begin\` 如下图  也就是说钩子文件即可以放在频道插件目录,也可以放在公共区域的common目录下。 放进去就立即生效,不用做任何设置。要停用,就只能手工把文件删除。 频道目录与公共目录,如果存在同名的钩子文件, 那么公共目录的那个钩子就不生效。频道目录的优先级最高。 并且频道目录的所有钩子执行完毕以后,再执行公共目录的钩子文件。 对于当前目录的钩子文件执行顺序如下: 数值越小,越先执行,也即数字最先,其次是字母。如果有带符号的情况下。横杠线即负号开头的最先。然后就数字,然后才是下画线开头,最后才是字母。字母的话,a比z的优先级高。大家的钩子如果有逻辑顺序的话,要注意文件的命名规则。 钩子里边的代码如果出现 ~~~ return true; return false; return []; return ''; return '这是内容'; ~~~ 就会直接把后面的所有钩子终止掉,也就是后面的钩子不会再执行。 一般情况,不要return 任何东西。实在要return 的话,你可使用 ~~~ return ; return null; ~~~ 这两种就不会终止后面的其它钩子执行。 包括第一种基于TP思路设计的钩子也是跟这个一样的情况。 在控制器里边用钩子,你可以直接使用当前类里边的属性及所有方法。因为本质上就相当于包含进来的代码。 而基于TP思路的钩子是不能 使用当前类的属性与方法的,因为它是执行引用外面的类。 如果不在控制器里边用钩子,比如在模型里边或者在模板里边用钩子的话,就用函数,而不能使用`$this->get_hook` 如下图  ~~~ get_hook('cms_model_agree_begin',$data=[],$info,['id'=>$id],true); ~~~ 这里用的是函数 参数跟上面的一样的。 在模板中的话就这样使用 ~~~ {:get_hook('layout_body_head',$info,$userdb)} ~~~ 如下图  在模型或模板中就不能使用当前的类的属性了,就跟TP思路的钩子差不多了。
本文链接:https://x1.wanxiangsucai.com/read/49.html
上一篇:
下一篇:齐博x1云标签插件-一件提取关键词无法使用的解决办法
相关文章推荐
1.
V系列如果发现被黑的排查方法附修复办法
2.
几个重要的方法函数
3.
万能数据统计调用方法
4.
小程序关注公众号的方法
5.
后台打不开,空间不支持pathinfo的解决方法
6.
隐藏index.php的方法
7.
小程序与公众号长期永久订阅消息的申请方法
8.
URL美化伪静态设置方法
9.
任意位置调用万能表单的方法 顺便借楼说下purl的作用
10.
018-栏目的终极方法get_sort
齐博X1教程专栏最新文章
1.
通过随机二次元壁纸接口向齐博x1 bbs系统发布信息
2.
齐博x1云标签插件-一件提取关键词无法使用的解决办法..
3.
关于thinkphp5
4.
齐博X1更新记录
5.
解决Web部署 svg/woff/woff2字体 404错误
6.
云市场注意事项
7.
如何调取当前模块ID
8.
URL伪静态设置
9.
QQ登录接口配置
10.
邮箱接口设置之QQ企业邮箱
齐博X1教程专栏文章推荐
1.
视频直播接口设置
2.
模板代码如何混淆加密
3.
V系列转换程序重新起航 支持v全系列转X系列(v7转换支持添加到搜索)..
4.
直播相关视频教程
5.
织梦转X1程序
6.
使用缩略图功能加快列表页打开速度
7.
通用获取某个人发布的主题数据
8.
支付宝对接收款配置
9.
模型字段内容页面调用小技巧
10.
循环列出某个子分类同时调取对应分类下的内容
建站工具推荐
您可能感兴趣的文章
通过随机二次元壁纸接口向齐博x1 bbs系统发布信息
齐博x1云标签插件-一件提取关键词无法使用的解决办法
关于thinkphp5
齐博X1更新记录
解决Web部署 svg/woff/woff2字体 404错误
云市场注意事项
如何调取当前模块ID
URL伪静态设置
QQ登录接口配置
邮箱接口设置之QQ企业邮箱