这是一个多部分问题。
背景
我正在使用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实现这一目标的方法。
答案 0 :(得分:2)
不,这不是这种功能的正确位置(或者更准确地说,它违背了MVC范例)。对于该函数,更好的方法是create your own helper。根据链接的复杂程度,您还可以使用elements。
根据经验,只有完全独立于应用程序中任何其他内容的函数应该在bootstrap.php中,甚至大多数函数在其他地方通常会更好。