【发布时间】:2014-03-15 14:06:54
【问题描述】:
我有一个方法(控制器中的函数,我说得对吗?)并查看我想在我网站上的每个控制器中使用的视图。有没有办法使方法在所有控制器和视图 .ctp 文件中都是通用的?我宁愿不必到处复制粘贴。
这似乎应该是显而易见的,所以如果我只是在搜索错误的术语,请告诉我。
谢谢
【问题讨论】:
标签: cakephp view controller
我有一个方法(控制器中的函数,我说得对吗?)并查看我想在我网站上的每个控制器中使用的视图。有没有办法使方法在所有控制器和视图 .ctp 文件中都是通用的?我宁愿不必到处复制粘贴。
这似乎应该是显而易见的,所以如果我只是在搜索错误的术语,请告诉我。
谢谢
【问题讨论】:
标签: cakephp view controller
共享/公共控制器代码:
你所描述的是一个“组件”:
组件是控制器之间共享的逻辑包。 如果您发现自己想要在 控制器,您可以考虑将一些功能包装在 组件。
见:http://book.cakephp.org/2.0/en/controllers/components.html
共享/通用查看代码:
就视图而言,有几个选项。如果你想要整个视图,你可以指定渲染哪个视图:$this->render('TestView/index');
或者,如果你想要一小段代码,你可以试试Element。
齐心协力:
如果您发现自己创建了很多不同的“部分”(视图、控制器/组件、模型/行为)......等等,都是为了相同的通用目的(即裁剪照片),您可以考虑创建Plugin。
旁注:
旁注:通常,我听说控制器中的函数称为“动作”,而模型中的函数称为“方法”。它们都是真正的方法(类/对象中的函数),但是 - 这就是它们通常被称为的方式。
【讨论】:
你可以把方法放在AppController中,只做一个视图。
您将使用$this->render('/myview.ctp');
【讨论】: