mirror of
https://github.com/yiisoft/yii2.git
synced 2025-11-15 22:09:48 +08:00
Merge branch 'origin/master'
This commit is contained in:
@@ -22,11 +22,10 @@ namespace yii\caching;
|
||||
class ChainedDependency extends Dependency
|
||||
{
|
||||
/**
|
||||
* @var array list of dependencies that this dependency is composed of.
|
||||
* Each array element should be a dependency object or a configuration array
|
||||
* that can be used to create a dependency object via [[\Yii::createObject()]].
|
||||
* @var Dependency[] list of dependencies that this dependency is composed of.
|
||||
* Each array element must be a dependency object.
|
||||
*/
|
||||
public $dependencies = array();
|
||||
public $dependencies;
|
||||
/**
|
||||
* @var boolean whether this dependency is depending on every dependency in [[dependencies]].
|
||||
* Defaults to true, meaning if any of the dependencies has changed, this dependency is considered changed.
|
||||
@@ -37,9 +36,8 @@ class ChainedDependency extends Dependency
|
||||
|
||||
/**
|
||||
* Constructor.
|
||||
* @param array $dependencies list of dependencies that this dependency is composed of.
|
||||
* Each array element should be a dependency object or a configuration array
|
||||
* that can be used to create a dependency object via [[\Yii::createObject()]].
|
||||
* @param Dependency[] $dependencies list of dependencies that this dependency is composed of.
|
||||
* Each array element should be a dependency object.
|
||||
* @param array $config name-value pairs that will be used to initialize the object properties
|
||||
*/
|
||||
public function __construct($dependencies = array(), $config = array())
|
||||
@@ -54,9 +52,6 @@ class ChainedDependency extends Dependency
|
||||
public function evaluateDependency()
|
||||
{
|
||||
foreach ($this->dependencies as $dependency) {
|
||||
if (!$dependency instanceof Dependency) {
|
||||
$dependency = \Yii::createObject($dependency);
|
||||
}
|
||||
$dependency->evaluateDependency();
|
||||
}
|
||||
}
|
||||
@@ -79,10 +74,7 @@ class ChainedDependency extends Dependency
|
||||
*/
|
||||
public function getHasChanged()
|
||||
{
|
||||
foreach ($this->dependencies as $i => $dependency) {
|
||||
if (!$dependency instanceof Dependency) {
|
||||
$this->dependencies[$i] = $dependency = \Yii::createObject($dependency);
|
||||
}
|
||||
foreach ($this->dependencies as $dependency) {
|
||||
if ($this->dependOnAll && $dependency->getHasChanged()) {
|
||||
return true;
|
||||
} elseif (!$this->dependOnAll && !$dependency->getHasChanged()) {
|
||||
|
||||
@@ -28,23 +28,25 @@ class DbDependency extends Dependency
|
||||
public $db = 'db';
|
||||
/**
|
||||
* @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. This property must be always set, otherwise
|
||||
* an exception would be raised.
|
||||
* Only the first row of the query result will be used.
|
||||
*/
|
||||
public $sql;
|
||||
/**
|
||||
* @var array the parameters (name=>value) to be bound to the SQL statement specified by [[sql]].
|
||||
*/
|
||||
public $params = array();
|
||||
public $params;
|
||||
|
||||
/**
|
||||
* Initializes the database dependency object.
|
||||
* Constructor.
|
||||
* @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 init()
|
||||
public function __construct($sql, $params = array(), $config = array())
|
||||
{
|
||||
if ($this->sql === null) {
|
||||
throw new InvalidConfigException('DbDependency::sql must be set.');
|
||||
}
|
||||
$this->sql = $sql;
|
||||
$this->params = $params;
|
||||
parent::__construct($config);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -22,7 +22,18 @@ class ExpressionDependency extends Dependency
|
||||
/**
|
||||
* @var string the PHP expression whose result is used to determine the dependency.
|
||||
*/
|
||||
public $expression = 'true';
|
||||
public $expression;
|
||||
|
||||
/**
|
||||
* 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.
|
||||
|
||||
@@ -7,8 +7,6 @@
|
||||
|
||||
namespace yii\caching;
|
||||
|
||||
use yii\base\InvalidConfigException;
|
||||
|
||||
/**
|
||||
* FileDependency represents a dependency based on a file's last modification time.
|
||||
*
|
||||
@@ -22,19 +20,19 @@ class FileDependency extends Dependency
|
||||
{
|
||||
/**
|
||||
* @var string the name of the file whose last modification time is used to
|
||||
* check if the dependency has been changed. This property must be always set,
|
||||
* otherwise an exception would be raised.
|
||||
* check if the dependency has been changed.
|
||||
*/
|
||||
public $fileName;
|
||||
|
||||
/**
|
||||
* Initializes the database dependency object.
|
||||
* Constructor.
|
||||
* @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 init()
|
||||
public function __construct($fileName = null, $config = array())
|
||||
{
|
||||
if ($this->file === null) {
|
||||
throw new InvalidConfigException('FileDependency::fileName must be set.');
|
||||
}
|
||||
$this->fileName = $fileName;
|
||||
parent::__construct($config);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -60,6 +60,15 @@ class BooleanValidator extends Validator
|
||||
}
|
||||
}
|
||||
|
||||
public function validateValue($value)
|
||||
{
|
||||
if ($this->allowEmpty && $this->isEmpty($value)) {
|
||||
return;
|
||||
}
|
||||
return ($this->strict || $value == $this->trueValue || $value == $this->falseValue)
|
||||
&& (!$this->strict || $value === $this->trueValue || $value === $this->falseValue);
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the JavaScript needed for performing client-side validation.
|
||||
* @param \yii\base\Model $object the data object being validated
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
namespace yii\validators;
|
||||
|
||||
use yii\base\Component;
|
||||
use yii\base\NotSupportedException;
|
||||
|
||||
/**
|
||||
* Validator is the base class for all validators.
|
||||
@@ -81,7 +82,7 @@ abstract class Validator extends Component
|
||||
*/
|
||||
public $message;
|
||||
/**
|
||||
* @var array list of scenarios that the validator should be applied.
|
||||
* @var array list of scenarios that the validator can be applied to.
|
||||
*/
|
||||
public $on = array();
|
||||
/**
|
||||
@@ -174,6 +175,11 @@ abstract class Validator extends Component
|
||||
}
|
||||
}
|
||||
|
||||
public function validateValue($value)
|
||||
{
|
||||
throw new NotSupportedException(__CLASS__ . ' does not support validateValue().');
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the JavaScript needed for performing client-side validation.
|
||||
*
|
||||
|
||||
Reference in New Issue
Block a user