变量 $_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如何封装打印日志的方法(附代码)
下一篇: PHP服务器环境变量 $_ENV