海豚CMS中的鉤子功能在Ci基礎上得到了功能增強,使得您可以在不修改系統(tǒng)核心文件的基礎上來改變或增加系統(tǒng)的核心運行功能。 當CMS運行后,它會產(chǎn)生出一個特殊的進程。 當然,您可以自定義一些動作來替代程序運行過程中的某些階段。例如,您可以在控制器剛剛載入前或剛剛載入后來運行特定的腳本,或者在其他時刻來觸發(fā)您的腳本。
一、掛鉤點
掛鉤點就是【鉤子名稱】分類列出的鉤子動作,鉤子名稱就是掛鉤點的名稱。
二、定義鉤子配置
建議將鉤子配置在config/my_hooks.php中,打開這個文件如下圖所示:
<?php
/**
* 我的鉤子定義配置
*/
defined('BASEPATH') OR exit('No direct script access allowed');
/*
$hook['鉤子名稱'][] = array(
'class' => '類名稱',
'function' => '方法名稱',
'filename' => '鉤子文件.php',
'filepath' => 'hooks',
);
*/| 參數(shù) | 介紹 |
|---|---|
| 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中
三、鉤子運行程序
上面配置好了鉤子文件,這里就改寫鉤子的運行程序了
按上面的配置創(chuàng)建文件/dayrui/hooks/my_hooks.php。
<?php
/**
* Created by PhpStorm.
* User: chunjie
* Date: 14-6-23
* Time: 17:11
*/
class my_hooks {
public $ci;
/**
* 構(gòu)造函數(shù)
*/
function __construct() {
$this->ci = &get_instance();
}
function reg($data) {
if ($data['username'] == 'admin') {
$this->ci->member_msg('親,admin名稱不允許注冊哦');
}
}
}上面的以上就是用戶輸入“admin”提交注冊時,會返回上段代碼的提示,這就是鉤子的優(yōu)勢,不需要修改程序源代碼。
文檔最后更新時間:2014-06-27 15:52:02