是否可以在PHP函数中使用PHP常量?
// in a different file
DEFINE ('HOST', 'hostname');
DEFINE ('USER', 'username');
DEFINE ('PASSWORD', 'password');
DEFINE ('NAME', 'dbname');
// connecting to database
function database()
{
// using 'global' to define what variables to allow
global $connection, HOST, USER, PASSWORD, NAME;
$connection = new mysqli(HOST, USER, PASSWORD, NAME)
or die ('Sorry, Cannot Connect');
return $connection;
}
答案 0 :(得分:21)
您不需要在函数的global
中声明它们,PHP将它们识别为全局变量。
function database()
{
// using 'global' to define what variables to allow
global $dbc;
$connection = new mysqli(HOST, USER, PASSWORD, NAME)
or die ('Sorry, Cannot Connect');
return $connection;
}
来自php.net:
与超全球一样,常数的范围是全局的。您可以在脚本中的任何位置访问常量,而不考虑范围。有关范围的更多信息,请阅读variable scope上的手册部分。
答案 1 :(得分:3)
答案 2 :(得分:2)
define()
产生全局常量。
答案 3 :(得分:1)
是的,但您不需要将它们称为“全局”。常数是全球性的。如果你将unexpected T_STRING, expecting T_VARIABLE
作为错误,那是因为它不希望在“全局”语句之后看到常量引用。