Laravel 持久化配置
发布时间 作者 Paul Redmond
Laravel 持久化配置是由 Paul Klimov 提供的一个包,它为 Laravel 提供持久化配置。
这个扩展允许使用来自外部存储(如关系型数据库)的数据重新配置已经创建的配置仓库。它提供了一个特殊的配置仓库类,该类包装任何给定的配置仓库,并添加一层用于从持久化存储中保存和恢复数据。
该包的 PersistentRepository
类完全装饰了任何实现 \Illuminate\Contracts\Config\Repository
接口的配置仓库。例如,自述文件 说明了扩展 Illuminate\Config\Repository
服务。
use Illuminatech\Config\StorageDb;use Illuminate\Support\ServiceProvider;use Illuminate\Contracts\Config\Repository;use Illuminatech\Config\PersistentRepository; // ... $this->app->extend('config', function (Repository $originConfig) { $storage = new StorageDb($this->app->make('db.connection')); $newConfig = (new PersistentRepository($originConfig, $storage)) ->setItems([ 'mail.contact.address' => [ 'label' => __('Email address receiving contact messages'), 'rules' => ['sometimes', 'required', 'email'], ], // ... ]); return $newConfig;});
此包包含多种存储选项,用于保存和检索配置值。开箱即用,此包包括通用数据库存储、Eloquent 存储(将配置存储在 Eloquent 模型中)、PHP、数组。
您可以在 GitHub 上的 illuminatech/config 了解有关此包的更多信息,获取完整的安装说明并查看源代码。