无法使用常数

时间:2014-07-26 13:41:49

标签: php constants

我正在研究一些PHP代码,我正在尝试创建一个initialize.php文件来定义我的站点根目录和我的包含文件夹,这样我就可以在每个页面上包含一个文件而不是很多。当我包含我的initialize.php文件然后尝试使用该文件中的常量(如LIB_PATH)时,我得到一个错误,它是一个未定义的常量。以下是初始化文件的内容。

defined('DS') ? null : define('DS', DIRECTORY_SEPARATOR);
defined('SITE_ROOT') ? null : define('SITE_ROOT', DS.'Users'.DS.'Andy'.DS.'sites'.DS.'sandbox'.DS.'photo_gallery');
defined('LIB_PATH') ? null : define('LIB_PATH', SITE_ROOT.DS.'includes');

require_once(LIB_PATH.DS."config.php");
require_once(LIB_PATH.DS."functions.php");
require_once(LIB_PATH.DS."session.php");
require_once(LIB_PATH.DS."database.php");
require_once(LIB_PATH.DS."user.php");

我还注意到,如果我尝试在其中一个文件中使用LIB_PATH,我要求它会抛出一个错误,该常量未定义。我对PHP比较新,但我的假设是通过定义常量我可以在任何这些文件中使用它。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

你的评论说,"在我的database.php文件中,第一行是

require_once(LIB_PATH.DS.'config.php');

嗯,这不会奏效。您必须明确包含initialize.php,然后才能使用您在此处定义的常量。

要做你想做的事情,initialize.php应该是include d之前,你需要在那些需要这些常数的每一页上做任何事情。