PHP-包含一个带有变量的文件,但在实现时显示UNDEFINED variable错误


PHP - A file with a variable is included but shows UNDEFINED VARIABLE error when implemented

我有一个配置文件,它包含在网站的每个部分中。它看起来或多或少是这样的(例如,我删除了很多不必要的行):

//Company info
define("COMPANY_NAME", "Test Company");
define("COMPANY_EMAIL", "email@company.com");
define("META_KEYWORDS", "");
define("META_DESCRIPTION", "");
//**********************************************************************
//Remember to change this when working Local or on the Production Server
define("DB_SERVER", "127.0.0.1"); 
define("DB_USER", "root");
define("DB_PASSWORD", "");
define("DB_SELECTED_DB", "adminpanel");

config.php文件的其中一行包含以下内容:

$_ITEM_TYPES = array(
    1=>"admin",
    2=>"page",
    3=>"repository"
);

我在一个包含config.php的文件中工作,我可以使用COMPANY_NAME、COMPANY_EMAIL等常量……但当我要使用$_ITEM_TYPES数组时,它会抛出一个未定义的变量错误:/

我使用了函数get_included_files(),文件确实包含在内!我不知道为什么我不能使用这个数组。

PHP文件menu.PHP

include_once("../config.php");
echo COMPANY_NAME;
//Echoes the value correctly
var_dump($_ITEM_TYPES);
//Throws error

有什么想法吗?事先谢谢大家。

我要在黑暗中拍摄。我敢肯定,你的问题的原因是你把这个文件包括在其他地方。通过使用include_once,它将不会再次包含该文件,因为它以前已经包含过,但在导致未定义变量错误的另一个范围中。

如果您希望该配置阵列在全局范围内可用,可以使用$GLOBALS,但这是一种糟糕的做法。