mirror of
https://github.com/yiisoft/yii2.git
synced 2025-11-15 13:58:24 +08:00
Merge branch 'origin/master'
This commit is contained in:
@@ -22,11 +22,10 @@ namespace yii\caching;
|
|||||||
class ChainedDependency extends Dependency
|
class ChainedDependency extends Dependency
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* @var array list of dependencies that this dependency is composed of.
|
* @var Dependency[] list of dependencies that this dependency is composed of.
|
||||||
* Each array element should be a dependency object or a configuration array
|
* Each array element must be a dependency object.
|
||||||
* that can be used to create a dependency object via [[\Yii::createObject()]].
|
|
||||||
*/
|
*/
|
||||||
public $dependencies = array();
|
public $dependencies;
|
||||||
/**
|
/**
|
||||||
* @var boolean whether this dependency is depending on every dependency in [[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.
|
* 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.
|
* Constructor.
|
||||||
* @param array $dependencies list of dependencies that this dependency is composed of.
|
* @param Dependency[] $dependencies list of dependencies that this dependency is composed of.
|
||||||
* Each array element should be a dependency object or a configuration array
|
* Each array element should be a dependency object.
|
||||||
* that can be used to create a dependency object via [[\Yii::createObject()]].
|
|
||||||
* @param array $config name-value pairs that will be used to initialize the object properties
|
* @param array $config name-value pairs that will be used to initialize the object properties
|
||||||
*/
|
*/
|
||||||
public function __construct($dependencies = array(), $config = array())
|
public function __construct($dependencies = array(), $config = array())
|
||||||
@@ -54,9 +52,6 @@ class ChainedDependency extends Dependency
|
|||||||
public function evaluateDependency()
|
public function evaluateDependency()
|
||||||
{
|
{
|
||||||
foreach ($this->dependencies as $dependency) {
|
foreach ($this->dependencies as $dependency) {
|
||||||
if (!$dependency instanceof Dependency) {
|
|
||||||
$dependency = \Yii::createObject($dependency);
|
|
||||||
}
|
|
||||||
$dependency->evaluateDependency();
|
$dependency->evaluateDependency();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -79,10 +74,7 @@ class ChainedDependency extends Dependency
|
|||||||
*/
|
*/
|
||||||
public function getHasChanged()
|
public function getHasChanged()
|
||||||
{
|
{
|
||||||
foreach ($this->dependencies as $i => $dependency) {
|
foreach ($this->dependencies as $dependency) {
|
||||||
if (!$dependency instanceof Dependency) {
|
|
||||||
$this->dependencies[$i] = $dependency = \Yii::createObject($dependency);
|
|
||||||
}
|
|
||||||
if ($this->dependOnAll && $dependency->getHasChanged()) {
|
if ($this->dependOnAll && $dependency->getHasChanged()) {
|
||||||
return true;
|
return true;
|
||||||
} elseif (!$this->dependOnAll && !$dependency->getHasChanged()) {
|
} elseif (!$this->dependOnAll && !$dependency->getHasChanged()) {
|
||||||
|
|||||||
@@ -28,23 +28,25 @@ 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. This property must be always set, otherwise
|
* Only the first row of the query result will be used.
|
||||||
* 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 = 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) {
|
$this->sql = $sql;
|
||||||
throw new InvalidConfigException('DbDependency::sql must be set.');
|
$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.
|
* @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.
|
* Generates the data needed to determine if dependency has been changed.
|
||||||
|
|||||||
@@ -7,8 +7,6 @@
|
|||||||
|
|
||||||
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.
|
||||||
*
|
*
|
||||||
@@ -22,19 +20,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. This property must be always set,
|
* check if the dependency has been changed.
|
||||||
* otherwise an exception would be raised.
|
|
||||||
*/
|
*/
|
||||||
public $fileName;
|
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) {
|
$this->fileName = $fileName;
|
||||||
throw new InvalidConfigException('FileDependency::fileName must be set.');
|
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.
|
* Returns the JavaScript needed for performing client-side validation.
|
||||||
* @param \yii\base\Model $object the data object being validated
|
* @param \yii\base\Model $object the data object being validated
|
||||||
|
|||||||
@@ -8,6 +8,7 @@
|
|||||||
namespace yii\validators;
|
namespace yii\validators;
|
||||||
|
|
||||||
use yii\base\Component;
|
use yii\base\Component;
|
||||||
|
use yii\base\NotSupportedException;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Validator is the base class for all validators.
|
* Validator is the base class for all validators.
|
||||||
@@ -81,7 +82,7 @@ abstract class Validator extends Component
|
|||||||
*/
|
*/
|
||||||
public $message;
|
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();
|
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.
|
* Returns the JavaScript needed for performing client-side validation.
|
||||||
*
|
*
|
||||||
|
|||||||
Reference in New Issue
Block a user