Laravel 技巧分享:一个更好的多环境下的 .env 文件命名方案
Laravel 默认带有一个 .env
文件,它被命名为 .env.example
,我们创建一个 .env.example
文件的副本命名为 .env
文件。
.env.example
不应写入 .gitignore
忽略中,因为它将用作于团队的示例 env 文件。 您还必须将添加到 .env
文件中的所有新环境变量添加到 .env.example
文件中,以便您的团队可以与该项目运行所需的变量保持同步。
现在让我们说一下,如果您需要为多个环境(即开发环境,测试环境,生产环境)复制 .env.example
,我用来命名这些文件的方法如下:
.env.development.env
.env.staging.env
.env.production.env
这样做的好处之一是,我们在诸如 PhpStorm
的 IDE 或诸如 Visual Studio Code
的编辑器中获得了语法高亮显示。
怎样将.env
文件添加到 .gitignore
中
我们应该在项目的根目录下的 .gitignore
文件中写入所有自定义的 .env
文件,因此我们可以防止通过 git 将它们意外推送到 Github 或任何其他平台上。 这是一个基本的 .gitignore
文件的示例:
# Laravel's default .gitignore
/node_modules
/public/hot
/public/storage
/storage/*.key
/vendor
.env
.env.backup
.phpunit.result.cache
Homestead.json
Homestead.yaml
npm-debug.log
yarn-error.log
# Custom added files
*.env # It will cover all your custom env files with .env extension
友情提醒
不要在项目中配置文件之外的任何地方使用env()
助手函数。 启用缓存时,使用 config()
而不是 env()
非常重要!
本文中的所有译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接
我们的翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。
想起来我们以前项目配置文件的方案:
.env :
-
.env.local 本地开发环境
-
.env.testing 测试环境
-
.env.production 生产环境
config :
-
config 公共配置
-
config/local 本地开发配置
-
config/testing 测试配置
-
config/production 生产配置