12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- <?php
- /**
- * CExpressionDependency class file.
- *
- * @author Qiang Xue <qiang.xue@gmail.com>
- * @link http://www.yiiframework.com/
- * @copyright 2008-2013 Yii Software LLC
- * @license http://www.yiiframework.com/license/
- */
- /**
- * CExpressionDependency represents a dependency based on the result of a PHP expression.
- *
- * CExpressionDependency performs dependency checking based on the
- * result of a PHP {@link expression}.
- * The dependency is reported as unchanged if and only if the result is
- * the same as the one evaluated when storing the data to cache.
- *
- * @author Qiang Xue <qiang.xue@gmail.com>
- * @package system.caching.dependencies
- * @since 1.0
- */
- class CExpressionDependency extends CCacheDependency
- {
- /**
- * @var string the PHP expression whose result is used to determine the dependency.
- * The expression can also be a valid serializable PHP callback.
- * It will be passed with a parameter which is the dependency object itself.
- *
- * The PHP expression will be evaluated using {@link evaluateExpression}.
- *
- * A PHP expression can be any PHP code that has a value. To learn more about what an expression is,
- * please refer to the {@link http://www.php.net/manual/en/language.expressions.php php manual}.
- */
- public $expression;
- /**
- * Constructor.
- * @param string $expression the PHP expression whose result is used to determine the dependency.
- */
- public function __construct($expression='true')
- {
- $this->expression=$expression;
- }
- /**
- * Generates the data needed to determine if dependency has been changed.
- * This method returns the result of the PHP expression.
- * @return mixed the data needed to determine if dependency has been changed.
- */
- protected function generateDependentData()
- {
- return $this->evaluateExpression($this->expression);
- }
- }
|