【问题标题】:Why doesn't magento autoload parent class为什么magento不自动加载父类
【发布时间】:2011-09-20 20:06:22
【问题描述】:

我有一个模块,它将通过执行操作来使用我的控制器而不是 magento

<routers>
  <checkout>
    <args>
      <modules>
        <Some_Thing before="Mage_Checkout">Some_Thing</Some_Thing>
      </modules>
    </args>
  </checkout>
</routers>

在我扩展核心类的类中,我必须明确要求该类。有谁知道这是为什么?

【问题讨论】:

    标签: magento magento-1.5


    【解决方案1】:

    Magento 自动加载器是一种简单的“用斜线替换下划线”算法。因为 Zend Framework 对它的控制器命名不同,并且因为 Magento 使用 Zend 的一部分并且受到 Zend 在其他方面的启发,所以它的控制器使用 Zend 约定命名并放置在 controllers 文件夹中,这意味着标准的自动加载例程将不起作用。

    最终控制器类会自动包含在 Magento 的 routing process 中,但不会被 PHP 自动加载器包含在内。相反,有自定义 PHP 代码来处理这个问题。

    因此,在路由期间,因为您告诉 Magento 使用您的控制器而不是 Magento 的控制器来处理特定请求,所以它是唯一包含在内的控制器。

    最好的猜测是控制器覆盖请求让最初的开发人员措手不及,虽然他们很乐意通过路由来构建解决方案,但重构控制器自动加载代码并不是优先事项。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-11-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-13
      • 1970-01-01
      • 2017-12-11
      • 2013-11-23
      • 1970-01-01
      相关资源
      最近更新 更多