当前位置:Gxlcms > PHP教程 > 变量$_SERVER、$_ENV和define定义系统参数的疑惑

变量$_SERVER、$_ENV和define定义系统参数的疑惑

时间:2021-07-01 10:21:17 帮助过:29人阅读

看了一些框架,很多在系统核心入口处通过 define 定义很多系统参数,但是最近看到一些是定义在 $_SERVER 中,甚至还有定义在 $_ENV 中的。

虽然都能实现功能,但是一直很疑惑,这样定义有什么优点吗?还是说可以略微提升性能?求解答~

回复内容:

看了一些框架,很多在系统核心入口处通过 define 定义很多系统参数,但是最近看到一些是定义在 $_SERVER 中,甚至还有定义在 $_ENV 中的。

虽然都能实现功能,但是一直很疑惑,这样定义有什么优点吗?还是说可以略微提升性能?求解答~

在.htaccess中加入下面代码

SetEnv database_name your_database
SetEnv mysql_user your_username
SetEnv mysql_password your_password

这时你可以在php中使用$_SERVER['database_name'],$_SERVER['mysql_user'],$_SERVER['mysql_password']来访问这些值。

说白了就是$_SERVER这个全局数组可以通过apache来新增一些键值;而常量不行,只能在php文件里用define定义。

很少看到直接把变量放在$_SERVER,$_ENV里面的 ,因为这两个变量都是语义化的变量。
另外常量本身就有很高的性能,所以这里应该不是基于性能考虑,也许仅仅是一种不好的个人爱好。

人气教程排行