nzsakib / db-config
用于在数据库中存储配置详情的包
dev-master
2020-01-04 09:39 UTC
Requires
- php: ^7.1
- illuminate/support: >=5.6.0
Requires (Dev)
- orchestra/testbench: 3.6.*
- phpunit/phpunit: ^7.0
- predis/predis: ^1.1
This package is auto-updated.
Last update: 2024-09-04 19:38:33 UTC
README
在这里应该放置你的描述。尽量限制在一两段之内,并可能提及你支持的PSR以避免用户和贡献者之间的混淆。
安装
您可以通过composer安装此包
composer require nzsakib/db-config
用法
门面或实现类?
您可以使用门面或直接实现类来工作。
// You can use following facade \Nzsakib\DbConfig\Facades\CustomConfig::getCollection(); // Or you can use the implementation below (new \Nzsakib\DbConfig\DbConfig())->getCollection();
从数据库获取所有配置作为集合
use Nzsakib\DbConfig\DbConfig; $config = new DbConfig; $allConfig = $config->getCollection(); // returns Model collection of specified table // pass to blade or do your thing by looping foreach($allConfig as $config) { dump($config->name); dump($config->value); }
设置新的配置
use Nzsakib\DbConfig\DbConfig; $config = new DbConfig; $name = 'facebook'; $value = [ 'client_id' => 'a client id', 'client_secret' => 'client secret', ]; // Value could be any data type e.g. boolean/array/string/integer try { $newConfig = $config->set($name, $value); // new config is set and cache is invalidated } catch (\InvalidArgumentException $e) { // redirect with message $e->getMessage() }
更新现有数据库配置
更新成功后,缓存将自动删除。
use Nzsakib\DbConfig\DbConfig; use Illuminate\Database\Eloquent\ModelNotFoundException; $config = new DbConfig; $name = 'facebook'; $newValue = [ 'client_id' => 'updated client id', 'client_secret' => 'updated secret' ]; try { $updatedConfig = (new DbConfig)->updateByName($name, $newValue); // Updated model is returned } catch (ModelNotFoundException $e) { // Specified name does not exists in database } // Or you could update by `id` which is primary key try { $updatedConfig = (new DbConfig)->updateById($id, $name, $newValue); // Updated model is returned } catch (ModelNotFoundException $e) { // Specified id does not exists in database }
删除数据库配置
删除成功后,缓存将自动删除。
use Nzsakib\DbConfig\DbConfig; use Illuminate\Database\Eloquent\ModelNotFoundException; $name = 'facebook'; try { $deletedConfig = (new DbConfig)->deleteByName($name); // deleted successfully } catch (ModelNotFoundException $e) { // specified name does not exists in database } // Or delete the config by primary key `id` $id = request('id'); try { $deletedConfig = (new DbConfig)->deleteById($id); // deleted successfully } catch (ModelNotFoundException $e) { // specified id does not exists in database }
获取Eloquent数据库查询以处理数据
use Nzsakib\DbConfig\DbConfig; $query = (new DbConfig)->getQuery(); // Returns Builder instance to underlying config table Model // You can run custom query on it $query->where('name', 'facebook')->delete(); // facebook config row is deleted from DB
发布包配置和迁移文件
php artisan vendor:publish --provider="Nzsakib\DbConfig\DbConfigServiceProvider" --tag="config" php artisan vendor:publish --provider="Nzsakib\DbConfig\DbConfigServiceProvider" --tag="migrations"
您可以更改迁移文件的表名,但请确保在配置文件中提及更新的表名。
测试
composer test
变更日志
请参阅 CHANGELOG 获取更多最近更改的信息。
贡献
请参阅 CONTRIBUTING 了解详细信息。
安全
如果您发现任何安全问题,请通过电子邮件 sukku.mia@gmail.com 联系,而不是使用问题跟踪器。
致谢
许可证
MIT许可证(MIT)。请参阅 许可证文件 获取更多信息。
Laravel包模板
此包是使用 Laravel包模板 生成的。