为什么magento不自动加载父类

mat*_*iel 4 magento magento-1.5

我有一个模块,它将使用我的控制器通过magento来做

<routers>
  <checkout>
    <args>
      <modules>
        <Some_Thing before="Mage_Checkout">Some_Thing</Some_Thing>
      </modules>
    </args>
  </checkout>
</routers>
Run Code Online (Sandbox Code Playgroud)

在扩展核心类的类中,我必须明确要求类.有人知道为什么吗?

Ala*_*orm 12

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

它最终会在Magento的路由过程中自动包含控制器类,但不会由PHP自动加载器包含.相反,有自定义的PHP代码来处理这个问题.

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

最好的猜测是对控制器覆盖的请求让原始开发人员措手不及,尽管他们很乐意陪审团通过路由获得解决方案,但重构控制器自动加载代码并不是优先考虑的问题.