| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104 | 
							- <?php
 
- namespace common\modules\rbac\components;
 
- use Yii;
 
- use yii\caching\Cache;
 
- use yii\db\Connection;
 
- use yii\helpers\ArrayHelper;
 
- /**
 
-  * Configs
 
-  * Used for configure some value. To set config you can use [[\yii\base\Application::$params]].
 
-  * 
 
-  * ~~~
 
-  * return [
 
-  *     
 
-  *     'mdm.admin.configs' => [
 
-  *         'db' => 'customDb',
 
-  *         'menuTable' => 'admin_menu',
 
-  *     ]
 
-  * ];
 
-  * ~~~
 
-  * 
 
-  * or use [[\Yii::$container]]
 
-  * 
 
-  * ~~~
 
-  * Yii::$container->set('rbac\components\Configs',[
 
-  *     'db' => 'customDb',
 
-  *     'menuTable' => 'admin_menu',
 
-  * ]);
 
-  * ~~~
 
-  *
 
-  * @author Misbahul D Munir <misbahuldmunir@gmail.com>
 
-  *
 
-  * @since 1.0
 
-  */
 
- class Configs extends \yii\base\BaseObject
 
- {
 
-     /**
 
-      * @var Connection Database connection.
 
-      */
 
-     public $db = 'db';
 
-     /**
 
-      * @var Cache Cache component.
 
-      */
 
-     public $cache = 'cache';
 
-     /**
 
-      * @var int Cache duration. Default to a month.
 
-      */
 
-     public $cacheDuration = 2592000;
 
-     /**
 
-      * @var string Menu table name.
 
-      */
 
-     public $menuTable = '{{%menu}}';
 
-     /**
 
-      * @var self Instance of self
 
-      */
 
-     private static $_instance;
 
-     /**
 
-      * {@inheritdoc}
 
-      */
 
-     public function init()
 
-     {
 
-         if ($this->db !== null && !($this->db instanceof Connection)) {
 
-             if (is_string($this->db) && strpos($this->db, '\\') === false) {
 
-                 $this->db = Yii::$app->get($this->db, false);
 
-             } else {
 
-                 $this->db = Yii::createObject($this->db);
 
-             }
 
-         }
 
-         if ($this->cache !== null && !($this->cache instanceof Cache)) {
 
-             if (is_string($this->cache) && strpos($this->cache, '\\') === false) {
 
-                 $this->cache = Yii::$app->get($this->cache, false);
 
-             } else {
 
-                 $this->cache = Yii::createObject($this->cache);
 
-             }
 
-         }
 
-         parent::init();
 
-     }
 
-     /**
 
-      * Create instance of self.
 
-      *
 
-      * @return static
 
-      */
 
-     public static function instance()
 
-     {
 
-         if (self::$_instance === null) {
 
-             $type = ArrayHelper::getValue(Yii::$app->params, 'mdm.admin.configs', []);
 
-             if (is_array($type) && !isset($type['class'])) {
 
-                 $type['class'] = static::className();
 
-             }
 
-             return self::$_instance = Yii::createObject($type);
 
-         }
 
-         return self::$_instance;
 
-     }
 
- }
 
 
  |