2011-04-13 115 views
8

我有一个记录器类,我需要记录我的应用程序处理。当我的文件位于包含文件夹中时,如何将此文件包含在Joomla中。我不希望总是使用../../../来包含文件,因为那样我每次包含我的类时都必须手动计算路径。有什么办法可以生成相对包含该文件的行?在Joomla中包含PHP文件

+2

我觉得这个“接近”非常没有建设性。虽然下面有建设性的回应。似乎有些人滥用了他们的业力点特权。 – 2014-07-01 07:56:10

回答

12

你可以使用的Joomla常数JPath从这里:http://docs.joomla.org/JPath像这样:

include_once (JPATH_ROOT.DS.'includes'.DS.'some.class.php'); 

您可以通过以下任何替代JPATH_ROOT

JPATH_SITE 
JPATH_BASE 
+2

请注意,DS已在2.5中弃用,并在3.0中删除。 – 2013-01-17 06:20:58

+0

你是对的@Valentin Despa Joomla 3它是'DIRECTORY_SEPARATOR' – bumerang 2014-02-21 08:04:15

+0

你甚至不需要它。只需使用'/' – 2014-02-21 08:05:43

1

使用这种每一个地方

<?php 
include $_SERVER['DOCUMENT_ROOT']."/lib/sample.lib.php"; 
?> 
2

在joomlla 2.5 +从不使用include_once或require_once来包含类文件中。在加载文件之前,PHP必须检查文件是否已经被加载。

由于joomla 2.5有JLoader :: register()方法,它不使用任何内存,除非需要在类中执行一个方法。

http://developer.joomla.org/manual/ch01s04.html