2017 © Pedro Peláez
 

library settings

image

namest/settings

  • Saturday, March 14, 2015
  • by luuhoangnam
  • Repository
  • 1 Watchers
  • 0 Stars
  • 52 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 3 Versions
  • 0 % Grown

The README.md

Getting Stared

Provide a very flexible way to interact with app settings (not laravel config)., (*1)

Note: The package is only support Laravel 5, (*2)

Installation

Step 1: Install package, (*3)

composer require namest/settings

Step 2: Register service provider in your config/app.php, (*4)

return [
    ...
    'providers' => [
        ...
        'Namest\Settings\SettingsServiceProvider',
    ],
    ...
    'aliases' => [
        ...
        'Setting' => 'Namest\Settings\Facades\Setting',
    ],
];

Step 3: Publish package resources, include: configs, migrations. Open your terminal and type:, (*5)

php artisan vendor:publish --provider="Namest\Settings\SettingsServiceProvider"

Step 4: Migrate the migration that have been published, (*6)

php artisan migrate

Step 5: Add some setting key/value pairs in settings table in your database, (*7)

Step 6: Read API below and start happy, (*8)

API

Three way to start to use:, (*9)

First way: New setting instance, (*10)

$settings = new Namest\Settings\Repository;

Second way: Via facade like this, (*11)

Setting::get($key);
Setting::set($key, $value);

Third way: Via injected contract. For example in controller:, (*12)

namespace ...;

use Namest\Settings\Contracts\Repository as Settings;

class UsersController extends Controller 
{
    private $settings;

    public function __construct(Settings $settings) 
    {
        $this->settings = $settings;
    }

    public function index()
    {
        $limit = $this->settings->limit;
    }

    // Or injects via method
    public function show(Settings $settings) 
    {
        $limit = $settings->limit;
    }

}
// Return all settings
Setting::all();
$settings->all();

// Check setting exists
Setting::has($key);
isset($settings[$key]);
array_key_exists($key, $settings);

// Get setting value from key
Setting::get($key, $default); // Via facade
setting($key, $default); // Via helper function
$settings[$key]; // Via array access
$settings->$key; // Via object access. Example: $limit = $settings->limit;

// Set setting value
Setting::set($key, $value);
$settings[$key] = $value;
$settings->$key = $value;
// Reload preloaded settings
Setting::preload();

The Versions