laraeast/laravel-settings 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

laraeast/laravel-settings

最新稳定版本:v2.0.1

Composer 安装命令:

composer require laraeast/laravel-settings

包简介

Persistent key-value storage for Laravel

README 文档

README

tests StyleCI Total Downloads Latest Stable Version License

Persistent Settings Manager for Laravel

Installation

  1. Install package

    composer require laraeast/laravel-settings
  2. Edit config/app.php (Skip this step if you are using laravel 5.5+)

    service provider:

    Laraeast\LaravelSettings\Providers\SettingsServiceProvider::class,

    class aliases:

    'Settings' => Laraeast\LaravelSettings\Facades\Settings::class,
  3. Create settings table for database driver

    php artisan settings:table
    php artisan migrate

Usage

Settings::get('name', 'Computer');
// get setting value with key 'name'
// return 'Computer' if the key does not exists

Settings::locale('en')->get('name', 'Computer');
// get setting value with key and language
 
Settings::get('name:en', 'Computer');
// get setting value with key and language
 
Settings::set('name', 'Computer');
// set setting value by key
 
Settings::locale('en')->set('name', 'Computer');
// set setting value by key and language
 
Settings::set('name:en', 'Computer');
// set setting value by key and language
 
Settings::has('name');
// check the key exists, return boolean
 
Settings::locale('en')->has('name');
// check the key exists by language, return boolean
 
Settings::has('name:en');
// check the key exists by language, return boolean
 
Settings::delete('name');
// delete the setting by key
 
Settings::locale('en')->delete('name');
// delete the setting by key and language
 
Settings::delete('name:en');
// delete the setting by key and language

Dealing with array

Settings::get('item');
// return null;
 
Settings::set('item', ['USB' => '8G', 'RAM' => '4G']);
Settings::get('item');
// return array(
//     'USB' => '8G',
//     'RAM' => '4G',
// );

Usage

Settings::locale('en')->set('title', 'Example Website');
 
Settings::locale('en')->get('title');
// return return 'Example Website';
 
Settings::set('title:ar', 'عنوان الموقع');

Settings::locale('ar')->get('title');
// return return 'عنوان الموقع';

Settings::locale('ar')->has('title') // bool
Settings::locale('ar')->delete('title') 

App::setLocale('en');

Settings::locale()->get('title');
// return return 'Example Website';

Extend Driver

You can extend your custom driver by adding this code in register() method of your AppServiceProvier

EX :
$this->app['settings.manager']->extend('file', function () {
	return new SettingsFileDriverHandler();
});

Note : your custom driver SettingsFileDriverHandler should implements Laraeast\LaravelSettings\Contracts\SettingsStore contract

<?php

namespace App\LaravelSettings;

use Laraeast\LaravelSettings\Contracts\SettingsStore;

class SettingsFileDriverHandler implements SettingsStore
{
    ...
}

统计信息

  • 总下载量: 22.22k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 12
  • 点击次数: 1
  • 依赖项目数: 2
  • 推荐数: 0

GitHub 信息

  • Stars: 11
  • Watchers: 1
  • Forks: 5
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2019-04-04