2

我是这个框架的新手,并希望使用插件扩展/覆盖控制器方法。如果这是错误的方法,请告诉我。我只希望解决方案是模块化的,因为扩展控制器不会被篡改。这是我想要的。。

MyController extends AppController{

function index(){}

}

我有一个插件

MyPlugin extends MyController{

function index(){}

}

我希望在调用 MyController->index() 时运行 MyPlugin->index()。任何帮助,将不胜感激。

4

1 回答 1

0

您要求的是某种“反向继承”,PHP 不支持这种方法(可能会考虑 Java 或 ObjectiveC 类别中的方面)。

据我了解,您有以下情况:

"3rd Party App's Controller class" extends "CakePHP's Controller class"

您从外部上游获取这两个类,并希望在不牺牲任何上游的情况下修改 3rd Party App 的控制器。这在语言上是不可能的,据我所知,CakePHP 没有提供任何框架解决方案。

您可以通过修改路由来实现您的目标,即将请求重定向MyController到您的自定义MyPlugin控制器并MyController从那里调用操作。

于 2012-11-15T09:46:20.723 回答