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的业务逻辑 */ } }
A、其中,namespace就是字面意思,空间命名,格式:template\index\模板文件夹名称
这里需要注意两点:
- 使用的是反斜线,不是斜线!不是斜线!!
- 模板文件夹名称区分大小写,注意了,这里很容易忽略,特别是win用户开发的时候。
B、这个文件中有一个固定函数:addHook,名称是固定的,不要修改!
addHook函数是返回模板定义的钩子,按照上述格式编写即可(请确保钩子存在)
然后再自定义的钩子里面写自己的业务逻辑就行了,是不是很方便哈,只用模板就可以是些一些功能,不用再单独下载插件了。