使用 Brotzka .env-Editor 在浏览器中编辑环境文件
发布于 作者: Diaa Fares
在使用 Laravel 时,每个安装程序都会在您的应用程序的根文件夹中包含一个 .env 示例文件。这样可以将敏感信息保存在版本控制之外,并使根据应用程序运行的环境创建不同配置变得更加容易。
Brotzka .env-Editor 是一个第三方软件包,旨在为通过 .env 文件编辑环境变量的当前手动方式提供替代方案。它提供了图形用户界面来查看、管理、备份和还原 .env 文件。此外,它还提供许多有用的功能,这些功能可以用于您的应用程序中以动态管理 .env 文件。
让我们来看看这个软件包。
安装
首先,通过 Composer 安装 **Brotzka .env-Editor**
composer require brotzka/laravel-dotenv-editor
然后在 **config/app.php** 中添加其服务提供者
'providers' => [ ... Brotzka\DotenvEditor\DotenvEditorServiceProvider::class,
在 **config/app.php** 别名中添加以下行
'DotenvEditor' => Brotzka\DotenvEditor\DotenvEditorFacade::class,
最后,您需要发布配置文件和视图,以便您可以根据需要对其进行编辑,在您的终端中运行以下命令
php artisan vendor:publish --provider="Brotzka\DotenvEditor\DotenvEditorServiceProvider"
现在您拥有了开始使用 **Brotzka .env-Editor** 所需的一切。
概述
如果您打开了 **.env-Editor** 配置文件 **config/dotenveditor.php**,您会发现两组设置,第一组是 **路径配置**,您可以对其进行编辑以指定项目 .env 文件的路径和 .env 文件备份路径
'pathToEnv' => base_path() . '/.env','backupPath' => base_path() . '/resources/backups/dotenv-editor/',
第二组设置是 **GUI 设置**,您可以选择启用/禁用通过图形界面编辑 .env,以及您可以从该界面访问的 **路由**
// Activate or deactivate the graphical interface 'activated' => true, // Set the base-route. All requests start here 'route' => '/enveditor',
图形用户界面
现在让我们通过浏览器访问 **/enveditor** 来查看 **Brotzka .env-Editor** 的图形用户界面,您会看到四个不同的选项卡
1. 概述选项卡
单击 **加载** 按钮导入 .env 文件内容后,您将看到当前的环境变量,以键值对的形式显示。在右侧栏中,有一些操作按钮,用于编辑或删除列表中的任何变量。
2. 添加新选项卡
在 **添加新** 选项卡中,您可以通过填写字段并单击 **添加** 按钮来轻松地在 .env 文件中创建新的变量。
3. 备份选项卡
在 **备份** 选项卡中,您可以通过单击 **创建备份** 按钮来创建 .env 文件的新备份。下方有一个 **可用备份** 列表,其中包含您之前的所有备份。在列表的右侧,您会找到操作按钮,您可以使用这些按钮来查看、还原、下载和删除 .env 文件备份。
4. 上传选项卡
最后一个选项卡是 **上传** 选项卡,它提供从存储空间中上传先前 .env 文件备份以进行还原的功能,请注意,这将覆盖您当前活动的 .env 文件。
从代码中管理 .env 文件
**Brotzka .env-Editor** 提供了许多有用的功能,您可以通过 DotenvEditor 类的实例访问这些功能。例如,有一些用于获取给定键的值、检查键是否存在、添加新的键值对、更改变量的值、创建/还原备份等的函数。您可以在 .env-Editor 文档 上查看所有可用函数。
以下是如何使用 **.env-Editor** 函数来操作 .env 文件的示例
namespace App\Http\Controllers; use Brotzka\DotenvEditor\DotenvEditor; class EnvController extends Controller{ public function editDotEnv(){ $env = new DotenvEditor(); // Adds APP_ENV key if not existed if(!$env->keyExists("APP_ENV"){ $env->addData([ 'APP_ENV' => 'production' ]); } // Changes the value of the Database name and username $env->changeEnv([ 'DB_DATABASE' => 'laravel-news', 'DB_USERNAME' => 'diaafares', ]); }}
就是这样,如果您正在寻找方便的方式通过代码或浏览器来管理 .env 文件,请尝试使用 **Brotzka .env-Editor**。您可以在 Github 上查看 **Brotzka .env-Editor** 的源代码。