我有一个方法(控制器中的功能,我正确地说它是正确的吗?)并查看我想在我的网站上的每个控制器中使用。有没有办法让方法在所有控制器上都是全局的,并且视图.ctp文件也是通用的?我宁愿不必将它复制粘贴到任何地方。
这似乎应该是显而易见的,所以如果我只是在搜索错误的字词,请告诉我。
由于
答案 0 :(得分:2)
共享/公共控制器代码:
您所描述的是"组件":
组件是控制器之间共享的逻辑包。 如果你发现自己想要复制和粘贴东西 控制器,你可能会考虑包装一些功能 成分
请参阅:http://book.cakephp.org/2.0/en/controllers/components.html
共享/公共查看代码:
就View而言,有几个选择。如果您想要整个视图,则只需指定要呈现的视图:$this->render('TestView/index');
或者,如果您想要一小块代码,可以尝试Element。
一起:
如果你发现自己创造了许多不同的"部分" (视图,控制器/组件,模型/行为)...等,所有这些都是出于相同的一般目的(即裁剪照片),您可以考虑创建Plugin。
旁注:
旁注:通常,我已经听到控制器中的功能被称为" actions"以及模型中的功能称为"方法"。它们都是真正的方法(类/对象中的一个函数),但是 - 这是他们通常所指的方式。
答案 1 :(得分:1)
您可以将方法放在AppController
中,只制作一个视图。
您将使用$this->render('/myview.ctp');