我想包含类似于Wordpress中的动作挂钩。我已经阅读了关于编写插件的章节,但是我能够在不改变父应用程序中的代码的情况下维护它们。
有没有对此的支持?
如果没有,有没有好方法呢?我有一些想法,但我担心我会重新发明轮子。
答案 0 :(得分:4)
是的。
它很像WordPress的钩子,但只是更好。
您可以在不同的地方注册回调,但简单的方法是在插件的bootstrap.php
中执行此操作。
当应用程序加载插件时,它可以告诉CakePHP引导它。这是通过此命令完成的。
CakePlugin::loadAll(array(array('bootstrap'=>true,'routes'=>true)));
答案 1 :(得分:2)
我不确定你要做什么,但你可以这样做:
你的控制器beforeFilter()
方法是创建某些钩子的好地方:
public function beforeFilter() {
parent::beforeFilter(); // don't forget to call parent code
$myHandler->doSomethingInteresting( $this->name, $this->action );
}
其中$this->name
将为您提供被调用控制器的名称,$this->action
将为您提供当前操作的名称。
我希望它有所帮助。