nzsakib/db-config

用于在数据库中存储配置详情的包

安装: 0

依赖: 0

建议者: 0

安全: 0

星级: 0

关注者: 1

分支: 0

开放问题: 0

语言:JavaScript

dev-master 2020-01-04 09:39 UTC

This package is auto-updated.

Last update: 2024-09-04 19:38:33 UTC


README

Latest Version on Packagist Build Status Quality Score Total Downloads

在这里应该放置你的描述。尽量限制在一两段之内,并可能提及你支持的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包模板 生成的。