ホームページ  >  記事  >  バックエンド開発  >  变量 $_SERVER、$_ENV 和 define 定义系统参数的疑惑

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

WBOY
WBOYオリジナル
2016-06-06 20:33:171493ブラウズ

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

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

回复内容:

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

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

在.htaccess中加入下面代码

<code>SetEnv database_name your_database
SetEnv mysql_user your_username
SetEnv mysql_password your_password
</code>

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

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

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

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。