PHP code example of ed-smartass / yii2-settings
1. Go to this page and download the library: Download ed-smartass/yii2-settings library . Choose the download type require .
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
ed-smartass / yii2-settings example snippets
return [
'controllerMap' => [
'migrate' => [
'class' => 'yii\console\controllers\MigrateController',
'migrationPath' => [
'@console/migrations',
'@vendor/ed-smartass/yii2-settings/src/migrations',
],
],
],
];
return [
'components' => [
'settings' => [
'class' => 'Smartass\Yii2Settings\Settings',
// Table name. Default: '{{%setting}}'
'table' => '{{%setting}}',
// DB connection component ID. Default: 'db'
'db' => 'db',
// Cache component ID, or null to disable caching. Default: 'cache'
'cache' => 'cache',
// Cache key prefix. Default: 'settings'
'cacheKey' => 'settings',
// Cache TTL in seconds, null = no expiration. Default: null
'cacheDuration' => null,
// Replace %placeholders% in component configs. Default: false
'processConfig' => false,
],
],
];
$settings = Yii::$app->settings;
// Set
$settings->set('site.name', 'My App');
$settings->set('per_page', 25);
$settings->set('maintenance', false);
$settings->set('mail.providers', ['smtp', 'sendmail']);
// Get
$settings->get('site.name'); // 'My App'
$settings->get('missing_key'); // null
$settings->get('missing_key', 'fallback'); // 'fallback'
$settings->get('theme', 'default', true); // 'default' (also saved to DB)
// Delete
$settings->delete('site.name');
// Delete all
$settings->flush();
// Force reload from database
$settings->refresh();
// Get all settings as array
$settings->settings; // ['per_page' => 25, 'maintenance' => false, ...]
// Read / write simple keys
$name = Yii::$app->settings->site_name;
Yii::$app->settings->site_name = 'New Name';
// Dot / hyphen keys — use get()/set() or brace syntax
$host = Yii::$app->settings->get('mail.smtp-host');
Yii::$app->settings->set('mail.smtp-host', 'smtp.example.com');
$host = Yii::$app->settings->{'mail.smtp-host'};
use Smartass\Yii2Settings\Settings;
// Store numeric string as integer
$settings->set('port', '8080', Settings::TYPE_INTEGER);
// Store integer as string
$settings->set('code', 42, Settings::TYPE_STRING);
// app config
return [
'bootstrap' => ['settings'],
'components' => [
'settings' => [
'class' => 'Smartass\Yii2Settings\Settings',
'processConfig' => true,
],
'mailer' => [
'class' => 'yii\swiftmailer\Mailer',
'transport' => [
'class' => 'Swift_SmtpTransport',
'host' => '%mail.host|smtp.example.com%', // setting name | default
'port' => '%mail.port%', // setting name (no default)
],
],
],
];
bash
php yii migrate --migrationPath=@vendor/ed-smartass/yii2-settings/src/migrations