在PHP中管理环境变量

  在PHP中管理环境变量

  现在我们都能用很多个编程语言开发,当我开始熟悉PHP时,我会忽略其它语言的特点。我用过其他语言(比如Node.js),但在PHP中没有看到一种轻松控制设置环境变量的方法,特别是在开发中。在Node.js中,dotenv库非常适合这种情况,后来我在PHP中,发现vlucas已经创建了phpdotenv,我准备将这个库应用到PHP项目中。

在PHP中管理环境变量

  管理环境变量

  在开发环境下,我们的代码应该从本地读取文件而不是实装环境变量中读取变量。这样可以更容易地切换项目,我们可以为每个项目编写一个文件,不必重新导出环境变量(或者在切换项目时没有启动新的shell,某些环境变量是错误的)。另外,可能在为其他人编写代码时,例如示例应用程序或入门工具包,.env文件中提供了设置所需值的清晰列表。

  .env配置文件

  通常,我用两个文件:

  .env是将从中读取实际值的文件。将文件名放入.gitignore,以便在提交时不会将您的实际环境/配置也提交到git中!

  .env-example只保存用户设置项目所需的键,而不包括值。这样在后面可以轻松复制此文件并把空白值处填写完整,以使事情顺利进行。

  请注意,我们也可能需要一些用于生产环境的开关,比如CI框架中系统设置的环境变量,它不用部署.env。

  .env文件内容类似如下所示:

  AWESOME_API_KEY=abc123

  AWESOME_API_SECRET=abcdef0123456789

  如果值已经存在,我们就可以在PHP应用程序使用它们。

  PHPdotenv

  首先,我们需要使用Composer将phpdotenv包(https://github.com/vlucas/phpdotenv)添加到你的项目中:

  composer require vlucas/phpdotenv

  然后,在代码中添加这样的东西到index.php的头部或框架中相关设置的地方(如require “vendor/autoload.php”后可能是一个正确的地方)。代码如下:

  $dotenv = new DotenvDotenv(__DIR__);

  $dotenv->load();

  然后,所有变量都可以在自己期望的地方使用,比如$_ENV['AWESOME_API_KEY']。

  这样在开发中使用环境变量就像使用配置文件一样简单,感谢Vance同学创建这个优秀的库~

上一篇:js判断网络连通性


下一篇:react router @4 和 vue路由 详解(六)vue怎么通过路由传参?