Commit b9a83551 by resurtm

Fixes issue related to the cache dependencies constructor parameters. (Discussed…

Fixes issue related to the cache dependencies constructor parameters. (Discussed via Skype with Qiang.)
parent aad6e6c8
...@@ -28,25 +28,23 @@ class DbDependency extends Dependency ...@@ -28,25 +28,23 @@ class DbDependency extends Dependency
public $db = 'db'; public $db = 'db';
/** /**
* @var string the SQL query whose result is used to determine if the dependency has been changed. * @var string the SQL query whose result is used to determine if the dependency has been changed.
* Only the first row of the query result will be used. * Only the first row of the query result will be used. This property must be always set, otherwise
* an exception would be raised.
*/ */
public $sql; public $sql;
/** /**
* @var array the parameters (name=>value) to be bound to the SQL statement specified by [[sql]]. * @var array the parameters (name=>value) to be bound to the SQL statement specified by [[sql]].
*/ */
public $params; public $params = array();
/** /**
* Constructor. * Initializes the database dependency object.
* @param string $sql the SQL query whose result is used to determine if the dependency has been changed.
* @param array $params the parameters (name=>value) to be bound to the SQL statement specified by [[sql]].
* @param array $config name-value pairs that will be used to initialize the object properties
*/ */
public function __construct($sql, $params = array(), $config = array()) public function init()
{ {
$this->sql = $sql; if ($this->sql === null) {
$this->params = $params; throw new InvalidConfigException('DbDependency::sql must be set.');
parent::__construct($config); }
} }
/** /**
......
...@@ -22,18 +22,7 @@ class ExpressionDependency extends Dependency ...@@ -22,18 +22,7 @@ class ExpressionDependency extends Dependency
/** /**
* @var string the PHP expression whose result is used to determine the dependency. * @var string the PHP expression whose result is used to determine the dependency.
*/ */
public $expression; public $expression = 'true';
/**
* Constructor.
* @param string $expression the PHP expression whose result is used to determine the dependency.
* @param array $config name-value pairs that will be used to initialize the object properties
*/
public function __construct($expression = 'true', $config = array())
{
$this->expression = $expression;
parent::__construct($config);
}
/** /**
* Generates the data needed to determine if dependency has been changed. * Generates the data needed to determine if dependency has been changed.
......
...@@ -7,6 +7,8 @@ ...@@ -7,6 +7,8 @@
namespace yii\caching; namespace yii\caching;
use yii\base\InvalidConfigException;
/** /**
* FileDependency represents a dependency based on a file's last modification time. * FileDependency represents a dependency based on a file's last modification time.
* *
...@@ -20,19 +22,19 @@ class FileDependency extends Dependency ...@@ -20,19 +22,19 @@ class FileDependency extends Dependency
{ {
/** /**
* @var string the name of the file whose last modification time is used to * @var string the name of the file whose last modification time is used to
* check if the dependency has been changed. * check if the dependency has been changed. This property must be always set,
* otherwise an exception would be raised.
*/ */
public $fileName; public $fileName;
/** /**
* Constructor. * Initializes the database dependency object.
* @param string $fileName name of the file whose change is to be checked.
* @param array $config name-value pairs that will be used to initialize the object properties
*/ */
public function __construct($fileName = null, $config = array()) public function init()
{ {
$this->fileName = $fileName; if ($this->file === null) {
parent::__construct($config); throw new InvalidConfigException('FileDependency::fileName must be set.');
}
} }
/** /**
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment