By default, DbCache stores session data in a DB table named 'cache'. This table must be pre-created. The table name can be changed by setting [[cacheTable]]. Please refer to Cache for common cache operations that are supported by DbCache. The following example shows how you can configure the application to use DbCache: php 'cache' => [ 'class' => 'yii\caching\DbCache', 'db' => 'mydb', 'cacheTable' => 'my_cache', ] For more details and usage information on Cache, see the guide article on caching.
Since: 2.0
Author: Qiang Xue (qiang.xue@gmail.com)
Inheritance: extends Cache
コード例 #1
0
ファイル: SqliteCache.php プロジェクト: sangkil/application
 /**
  * @inheritdoc
  */
 public function init()
 {
     if ($this->db === null) {
         $this->db = new Connection(['dsn' => 'sqlite:' . Yii::getAlias($this->dbFile)]);
     }
     parent::init();
     if ($this->autoCreateTable && !$this->db->getTableSchema($this->cacheTable)) {
         $this->createTableCache();
     }
 }
コード例 #2
0
 /**
  * Setup some initial database settings.
  *
  * This will be done at the first step.
  */
 private function setupInitialData()
 {
     // Get Params File
     $param = Configuration::getParam();
     // Application Title
     Yii::$app->config->set(Enum::APP_NAME, 'Starter Kit');
     // Application Default Backend Theme
     Yii::$app->config->set(Enum::APP_BACKEND_THEME, 'yeti');
     // Application Default Frontend Theme
     Yii::$app->config->set(Enum::APP_FRONTEND_THEME, 'readable');
     // Caching
     Yii::$app->config->set(Enum::CACHE_CLASS, DbCache::className());
     // Admin
     Yii::$app->config->set(Enum::ADMIN_INSTALL_ID, md5(uniqid('', TRUE)));
     // Basic
     Yii::$app->config->set(Enum::APP_TOUR, TRUE);
     // Yii2-User
     Yii::$app->config->set(Enum::USER_REGISTRATION, 1);
     Yii::$app->config->set(Enum::USER_PASSWORD_RESET_TOKEN_EXPIRE, 86400);
     Yii::$app->config->set(Enum::USER_FORGOT_PASSWORD, 1);
     Yii::$app->config->set(Enum::REMEMBER_ME_DURATION, 3600);
     Yii::$app->config->set(Enum::USER_LOGIN_TYPE, 2);
     // Mailer
     Yii::$app->config->set(Enum::MAILER_USE_TRANSPORT, $param['installer']['mail']['useTransport']);
     Yii::$app->config->set(Enum::MAILER_HOST, $param['installer']['mail']['transport']['host']);
     Yii::$app->config->set(Enum::MAILER_USERNAME, $param['installer']['mail']['transport']['username']);
     Yii::$app->config->set(Enum::MAILER_PASSWORD, $param['installer']['mail']['transport']['password']);
     Yii::$app->config->set(Enum::MAILER_PORT, $param['installer']['mail']['transport']['port']);
     Yii::$app->config->set(Enum::MAILER_ENCRYPTION, $param['installer']['mail']['transport']['encryption']);
     // Authentication Clients
     Yii::$app->config->set(Enum::GOOGLE_AUTH, NULL);
     Yii::$app->config->set(Enum::GOOGLE_CLIENT_ID, NULL);
     Yii::$app->config->set(Enum::GOOGLE_CLIENT_SECRET, NULL);
     Yii::$app->config->set(Enum::FACEBOOK_AUTH, NULL);
     Yii::$app->config->set(Enum::FACEBOOK_CLIENT_ID, NULL);
     Yii::$app->config->set(Enum::FACEBOOK_CLIENT_SECRET, NULL);
     Yii::$app->config->set(Enum::LINKED_IN_AUTH, NULL);
     Yii::$app->config->set(Enum::LINKED_IN_CLIENT_ID, NULL);
     Yii::$app->config->set(Enum::LINKED_IN_CLIENT_SECRET, NULL);
     Yii::$app->config->set(Enum::GITHUB_AUTH, NULL);
     Yii::$app->config->set(Enum::GITHUB_CLIENT_ID, NULL);
     Yii::$app->config->set(Enum::GITHUB_CLIENT_SECRET, NULL);
     Yii::$app->config->set(Enum::LIVE_AUTH, NULL);
     Yii::$app->config->set(Enum::LIVE_CLIENT_ID, NULL);
     Yii::$app->config->set(Enum::LIVE_CLIENT_SECRET, NULL);
     Yii::$app->config->set(Enum::TWITTER_AUTH, NULL);
     Yii::$app->config->set(Enum::TWITTER_CONSUMER_KEY, NULL);
     Yii::$app->config->set(Enum::TWITTER_CONSUMER_SECRET, NULL);
 }
コード例 #3
0
?>
		</div>

		<div class="form-group">
			<?php 
echo $form->field($model, 'appFrontendTheme')->dropDownList($themes, ['class' => 'form-control', 'options' => [Yii::$app->config->get(Enum::APP_FRONTEND_THEME, 'readable') => ['selected ' => TRUE]]]);
?>
		</div>

		<hr/>

		<h4>Cache Setting</h4>

		<div class="form-group">
			<?php 
echo $form->field($model, 'cacheClass')->dropDownList([FileCache::className() => 'File Cache', DbCache::className() => 'Db Cache'], ['class' => 'form-control', 'options' => [Yii::$app->config->get(Enum::CACHE_CLASS, FileCache::className()) => ['selected ' => TRUE]]]);
?>
		</div>

		<hr/>

		<h4>Introduction Tour</h4>

		<div class="form-group">
			<div class="checkbox">
				<?php 
echo $form->field($model, 'appTour')->checkbox();
?>
			</div>
		</div>
コード例 #4
0
ファイル: DbCache.php プロジェクト: deesoft/yii2-tools
 /**
  * @inheritdoc
  */
 public function init()
 {
     parent::init();
     $this->createTable();
 }