我可以在PHP中的函数中使用常量吗?
问题描述:
是否可以在PHP函数中使用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;
}
答
你并不需要声明他们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:
superglobals一样,常量的范围是全球性的。您可以在脚本的任何位置访问常量,而不考虑范围。有关示波器的更多信息,请阅读variable scope的手册部分。
+2
只是upvoted你的答案,但想指出,* PHP认识到他们作为超全球。*应该是* PHP认识到他们作为全球。* – 2013-08-28 18:16:26
+1
10倍我将修复它 – 2013-08-29 04:32:05
答
是的,但你不需要称他们为“全球”。常量是全局的。如果您得到unexpected T_STRING, expecting T_VARIABLE
作为错误,那是因为它不希望在“全局”语句后看到常量引用。
为什么downvote一个新用户? – Herr 2010-11-09 07:04:13
@Herr新的或旧的,但他需要先提高他的措辞技能。 – 2010-11-09 07:15:29
改善措辞技巧是令人沮丧的东西,完全不同。不要成为巨魔 – Herr 2010-11-09 07:27:49