欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

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

程序员文章站 2022-03-27 16:30:34
...
看了一些框架,很多在系统核心入口处通过 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里面的 ,因为这两个变量都是语义化的变量。
另外常量本身就有很高的性能,所以这里应该不是基于性能考虑,也许仅仅是一种不好的个人爱好。

相关标签: php