手把手一步步教你使用rpcms的模板Hook

简介: rpcms可以制作模板和插件,有时候做的模板需要自定义一些功能,但又不想通过插件实现,那样用户在使用模板的时候,还必须配套插件才可以。为避免这写繁琐的操作,让用户使用模板更方便,我们可以使用模板的Hook功能。这个功能使用起来也很方便,只需要在你的模板文件夹中创建Hook.class.php,文件内容如下:

rpcms可以制作模板和插件,有时候做的模板需要自定义一些功能,但又不想通过插件实现,那样用户在使用模板的时候,还必须配套插件才可以。为避免这写繁琐的操作,让用户使用模板更方便,我们可以使用模板的Hook功能。

这个功能使用起来也很方便,只需要在你的模板文件夹中创建Hook.class.php,文件内容如下:

<?php
namespace template\index\tempName;
class Hook{
  public function addHook(){
    $data=array(
      'comment_save'=>'template\index\tempName\hook::sendMsg',
    );
    return $data;
  }
  public function sendMsg($data){
    /*
        *这里是自定义Hook的业务逻辑
        */
  }
}

image.gif

A、其中,namespace就是字面意思,空间命名,格式:template\index\模板文件夹名称

这里需要注意两点:

    1. 使用的是反斜线,不是斜线!不是斜线!!
    2. 模板文件夹名称区分大小写,注意了,这里很容易忽略,特别是win用户开发的时候。

    B、这个文件中有一个固定函数:addHook名称是固定的,不要修改!

    addHook函数是返回模板定义的钩子,按照上述格式编写即可(请确保钩子存在)

    然后再自定义的钩子里面写自己的业务逻辑就行了,是不是很方便哈,只用模板就可以是些一些功能,不用再单独下载插件了。

    相关文章
    |
    8月前
    |
    编译器 C++
    【C++初阶】13. 模板进阶
    【C++初阶】13. 模板进阶
    46 2
    |
    C++
    24.【特殊函数篇==(十篇一章,持续更新~)】(一)
    24.【特殊函数篇==(十篇一章,持续更新~)】
    57 0
    |
    C语言
    24.【特殊函数篇==(十篇一章,持续更新~)】(二)
    24.【特殊函数篇==(十篇一章,持续更新~)】
    49 0
    |
    8月前
    |
    缓存
    Quarto 入门教程 (3):细节设置
    Quarto 入门教程 (3):细节设置
    260 1
    |
    8月前
    |
    小程序 开发工具 git
    uniapp项目实践第三章:初始化项目
    uniapp项目实践第三章:初始化项目
    119 0
    |
    8月前
    |
    编译器 C++
    C++初阶(十七)模板进阶
    C++初阶(十七)模板进阶
    61 0
    |
    8月前
    |
    安全 编译器 C++
    C++之模版初阶(简单使用模版)
    C++之模版初阶(简单使用模版)
    |
    8月前
    |
    JavaScript
    源码阅读之 create-vite —— 阅读前的准备工作
    源码阅读之 create-vite —— 阅读前的准备工作
    96 0
    |
    编译器 C++
    C++ 模板进阶篇
    C++ 模板进阶篇
    55 0
    |
    编译器 C语言 C++
    【C++初阶】十三、模板进阶(总)
    目录 一、非类型模板参数 二、模板的特化 2.1 模板特化概念 2.2 函数模板特化 2.3 类模板特化 2.3.1 全特化 2.3.2 偏特化 三、模板分离编译 四、模板总结(优缺点)
    141 0
    【C++初阶】十三、模板进阶(总)