php钩子配置,自定义钩子开发说明

海豚CMS中的钩子功能在Ci基础上得到了功能增强,使得您可以在不修改系统核心文件的基础上来改变或增加系统的核心运行功能。 当CMS运行后,它会产生出一个特殊的进程。 当然,您可以自定义一些动作来替代程序运行过程中的某些阶段。例如,您可以在控制器刚刚载入前或刚刚载入后来运行特定的脚本,或者在其他时刻来触发您的脚本。

一、挂钩点

挂钩点就是【钩子名称】分类列出的钩子动作,钩子名称就是挂钩点的名称。

二、定义钩子配置

建议将钩子配置在config/my_hooks.php中,打开这个文件如下图所示:<?php

/**

* 我的钩子定义配置

*/

defined('BASEPATH') OR exit('No direct script access allowed');

/*

$hook['钩子名称'][] = array(

'class' => '类名称',

'function' => '方法名称',

'filename' => '钩子文件.php',

'filepath' => 'hooks',

);

*/

参数介绍

class就是类的名称

function方法名称

filename钩子文件的php文件名称

filepath钩子路径,默认相对于dayrui/目录,支持绝对目录

同一挂钩点的多次引用

本例以【会员注册之前】钩子为例$hook['member_register_before'][] = array(

'class' => 'my_hooks',

'function' => 'reg',

'filename' => 'my_hooks.php',

'filepath' => 'hooks',

);

将以上代码放到my_hooks.php中

三、钩子运行程序

上面配置好了钩子文件,这里就改写钩子的运行程序了

按上面的配置创建文件/dayrui/hooks/my_hooks.php。<?php

/**

* Created by PhpStorm.

* User: chunjie

* Date: 14-6-23

* Time: 17:11

*/

class my_hooks {

public $ci;

/**

* 构造函数

*/

function __construct() {

$this->ci = &get_instance();

}

function reg($data) {

if ($data['username'] == 'admin') {

$this->ci->member_msg('亲,admin名称不允许注册哦');

}

}

}

上面的以上就是用户输入“admin”提交注册时,会返回上段代码的提示,这就是钩子的优势,不需要修改程序源代码。

文档最后更新时间:2014-06-27 15:52:02

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值