/ Controller和/ controllers之间的区别


43

我一直想问一个年龄的问题,比任何其他问题都更理论化。

我精通使用常规的Magento模块文件结构开发扩展。我注意到,尽管在查看某些Mage“扩展”时,其中有些包含/ Controller目录。这些控制器的目的是什么?与/ controllers目录中通常使用的控制器有什么不同?

我可以看到名称的结构不同,所以我收集它们以不同的方式自动加载,但是/ Controller类的作用是什么?

谢谢大家

Answers:


45

如前所述,区别在于自动加载。通常,/ Controller中的文件是Abstract(或父)类,/ controllers中的从这些类继承

Magento并非旨在了解/ Controller目录-只是一个约定而已。类名提示在磁盘上的哪里找到这些父项,自动加载器会找到它们。您会在看到此内容Mage_Sales

class Mage_Sales_OrderController extends Mage_Sales_Controller_Abstract

在这里,销售模块所在控制器内app/code/core/Mage/Sales/controllers和负载控制器说磁带自动加载机来定位它的app/code/core/Mage/Sales/Controller

这样做是为了提供关注点分离,并允许具体的控制器类继承通用功能。


这完全有道理,现在,您已经解释了,实际上似乎很明显!谢谢菲尔!
thebluefox
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.