加载CakePHP助手

时间:2011-10-27 19:52:45

标签: cakephp load helper idiomatic

这是一个多部分问题。

背景

我正在使用CakePHP构建我的第一个站点,到目前为止我喜欢它。我有一个数据库设置,初始数据加载,以及一些与数据接口的模型,视图和控制器。

我创建了一个全局可访问的函数,用于在各个区域中创建添加/编辑/删除类型图像链接。它将在多个视图中使用,因此我需要它在任何地方都可访问。该函数在/app/config/bootstrap.php中定义。我希望使用HTML Helper的$html->image()$html->link()方法来实现这一点,但它们在bootstrap.php中不可用,我不确定如何加载/访问HTML帮助程序我已经定义了我的功能。

问题:

1)这是一个合理/惯用的地方来定义这种函数吗?

2)如果这不是定义函数的正确位置,我应该在哪里定义它?

3)如果这是定义函数的正确位置,我该如何加载各种CakePHP助手呢?

同样,我是CakePHP的新手,所以如果我的问题不清楚,请告诉我,并原谅我的无知。我已经阅读/搜索了大量的CakePHP文档,虽然我可以通过App::import(...);$helpers = array(...);找到大量有关在控制器中加载帮助程序的参考资料,但我似乎无法访问该应用程序我假设对象和$helpers成员特定于AppController类。我假设我正在解决这个问题,所以请帮助我理解Cake实现这一目标的方法。

1 个答案:

答案 0 :(得分:2)

不,这不是这种功能的正确位置(或者更准确地说,它违背了MVC范例)。对于该函数,更好的方法是create your own helper。根据链接的复杂程度,您还可以使用elements

根据经验,只有完全独立于应用程序中任何其他内容的函数应该在bootstrap.php中,甚至大多数函数在其他地方通常会更好。