Joomla 3.1中的Jcontroller路径

时间:2013-10-03 17:55:36

标签: joomla joomla2.5 joomla-extensions

/libraries/joomla/application/component/controller.php 

此文件位于JOOMLA 3.1.5

1 个答案:

答案 0 :(得分:2)

在3.0中,我理解大多数类都是自动加载的,因此您通常可以根据类名猜测文件位置(因为这是自动加载器找到它们的方式!)。基本上,前缀映射到一个或多个库,然后每个单词代表一个文件夹或文件(对于类的最后一个单词)。如果只有一个前缀和一个单词(如JController),controller将是文件夹和文件名。整蛊?一些例子:

对于这些,您应该注意J前缀映射到几个库:joomla,cms和legacy。

JControllerLegacy将在libraries/joomla/controller/legacy.phplibraries/cms/controller/legacy.phplibraries/legacy/controller/legacy.php中定义。在这种情况下,它是最后一个,遗留库。

JController不再引用类,而是引用3.1中的接口,但它仍然位于libraries/joomla/controller/controller.phplibraries/cms/controller/controller.phplibraries/legacy/controller/controller.php。在这种情况下,它恰好是第一个地方,joomla库。

请注意上面的控制器如何重复作为文件夹和文件名。他们不允许在主库文件夹中使用php文件(即你不能做libraries/joomla/controller.php,所以对于短类名,你会看到名字加倍。)

最后,任何遵循这种格式的类都将由joomla自动加载,因此在使用该类之前不需要包含jimport调用。