【问题标题】:Zend my mapper class is not foundZend 找不到我的映射器类
【发布时间】:2012-06-29 22:49:43
【问题描述】:

我正在使用模块,结构如下:

-application
    -modules
        -affaire
            -controllers
                -ProfileController.php
            -models
                -Affaire.php
                -AffaireMapper.php

问题出在 ProfileController 的索引操作中,当我调用时:

$affaireMapper = new Affaire_Model_AffaireMapper();

我得到的错误是 Affaire_Model_AffaireMapper not found on ...你知道演习:P 我怀疑这是因为我的模块名称是小写的。我还在 AffaireMapper.php 中仔细检查了我的班级名称,以确保它没有输入错误。顺便说一句,这个名字是 Affaire_Model_AffaireMapper!

如果是因为我的怀疑,有什么方法可以让我的小写名字“affaire”保持不变?我希望它是小写的,所以我的;就像:“somthing.com/affaire/profile”。无论如何,我是 Zend 的新手,所以它可能(或者它是:P)一个新手错误!

【问题讨论】:

  • 可能任何包含 models/AffaireMapper.php 的文件都没有使用绝对路径并且没有正确的包含路径
  • 它被包含在 ProfileController 中
  • 你能把那行代码放在你的问题中吗?还有var_dump(get_include_path())。据我所知,模块文件夹名称不必大写
  • 刚刚找到解决方案。真的是我的错。我忘记在 application.ini 中添加模块的引导文件和变量 ressources.modules[] = ""

标签: php zend-framework


【解决方案1】:

找到了解决方案,我忘记了模块的 bootstrap.php 文件和 application.ini 中的变量 ressources.modules[] = ""。当我意识到它只发生在模块内的模型上时,我能够找到一个主题:zend modules models

【讨论】:

    【解决方案2】:

    linux服务器切掉类名生成类文件的patch,在这种情况下,这样做:

    $affaireMapper = 新事务模型_AffaireMapper();

    结束将类重命名为:

    affaire_models_AffaireMapper

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-06-10
      • 2014-04-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-10-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多