/libraries/joomla/application/component/controller.php
此文件位于JOOMLA 3.1.5
中答案 0 :(得分:2)
在3.0中,我理解大多数类都是自动加载的,因此您通常可以根据类名猜测文件位置(因为这是自动加载器找到它们的方式!)。基本上,前缀映射到一个或多个库,然后每个单词代表一个文件夹或文件(对于类的最后一个单词)。如果只有一个前缀和一个单词(如JController),controller
将是文件夹和文件名。整蛊?一些例子:
对于这些,您应该注意J
前缀映射到几个库:joomla,cms和legacy。
JControllerLegacy将在libraries/joomla/controller/legacy.php
,libraries/cms/controller/legacy.php
或libraries/legacy/controller/legacy.php
中定义。在这种情况下,它是最后一个,遗留库。
JController不再引用类,而是引用3.1中的接口,但它仍然位于libraries/joomla/controller/controller.php
,libraries/cms/controller/controller.php
或libraries/legacy/controller/controller.php
。在这种情况下,它恰好是第一个地方,joomla库。
请注意上面的控制器如何重复作为文件夹和文件名。他们不允许在主库文件夹中使用php文件(即你不能做libraries/joomla/controller.php
,所以对于短类名,你会看到名字加倍。)
最后,任何遵循这种格式的类都将由joomla自动加载,因此在使用该类之前不需要包含jimport调用。