时间:2021-07-01 10:21:17 帮助过:29人阅读
虽然都能实现功能,但是一直很疑惑,这样定义有什么优点吗?还是说可以略微提升性能?求解答~
看了一些框架,很多在系统核心入口处通过 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里面的 ,因为这两个变量都是语义化的变量。
另外常量本身就有很高的性能,所以这里应该不是基于性能考虑,也许仅仅是一种不好的个人爱好。