我尽我所能去构建这个。基本上我有一个Hook类,通过添加提供的钩子来工作。
这方面的一个例子是:
$this->registry->hook->add('HOOK_NAME', 'CLASS_NAME||METHOD_NAME')
钩子添加,调用,删除函数工作得很好,现在当我在一个完全不同的类中的单独方法中设置钩子时,问题就存在了。
这方面的一个例子是用户登录时。
他们采取的路径是 User Controller
- > Form Class
- >的 Login Process Function
现在在这个登录过程函数中,我想设置一个稍后调用的钩子来结束会话。 (将按上述方式添加)
问题似乎是它已经设定,但如果有意义的话,它不会持续存在吗?
如果有人有兴趣,这就是钩子添加功能的样子:
function add($hook, $callback, $params = '') {
//make sure the hook is defined
if (!isset($this->hooks[$hook])) {
$this->hooks[$hook] = array();
}
//add the callback to the hook
$this->hooks[$hook]['callback'] = $callback;
// add the params if supplied
if (!empty($params)) {
$this->hooks[$hook]['params'] = $params;
}
}
我应该使用魔术方法 __set()
和 __get()
吗?
任何帮助将不胜感激! :)