【问题标题】:Organizing helpers in sub-directories在子目录中组织助手
【发布时间】:2013-01-11 19:25:52
【问题描述】:

我是 CakePHP 的新手,我在组织我的帮助文件时遇到了麻烦。我在网上搜索,似乎没有找到答案。

如果我将帮助程序放在 app/Views/Helpers/test 下,我在使用帮助程序时没有问题。

但是当我把它放在 app/Views/Helpers/Global/test 下时,

class AppController extends Controller {

public $helpers = array('Form', 'Html', 'Js', 'Time', 'Text', 'Session','Global/testHelper');

我收到“无法重新声明类 testHelper”

有人知道吗?

【问题讨论】:

  • 用户控制器通常不会扩展 AppController 吗?你在编辑 Cake 的文件吗?
  • 我正在编辑 AppController 以包含所有控制器的帮助程序。就像食谱建议的那样
  • 不..我没有手动包含助手类..

标签: php cakephp cakephp-2.0 cakephp-helper


【解决方案1】:

组织和打包代码的最佳方式是使用Plugins

您的应用的 Helpers 目录下不能有子文件夹。但是您可以使用App::build() 为您的助手指定备用位置。

【讨论】:

    【解决方案2】:

    这个错误是不言自明的。你不能直接调用你的助手TestHelper,因为这个名字已经被 CakePHP 测试套件使用了(在lib/Cake/Test/Case/View/HelperTest.php 中定义)。

    只需将您的助手命名为其他名称就可以了。

    【讨论】:

    • TestHelper 只是我在这里使用的一个示例。抱歉,这是一个不好的例子,但我使用的真实情况是 SideMenuHelper。关于如何在子目录中使用帮助类的任何想法?它应该工作吗?
    猜你喜欢
    • 1970-01-01
    • 2014-11-06
    • 1970-01-01
    • 2011-01-24
    • 2011-03-22
    • 1970-01-01
    • 1970-01-01
    • 2015-12-11
    • 1970-01-01
    相关资源
    最近更新 更多