/yii/framework/caching/dependencies/CExpressionDependency.php
PHP | 53 lines | 13 code | 3 blank | 37 comment | 0 complexity | e8777274853f3d8b775481a78cd4ec11 MD5 | raw file
Possible License(s): BSD-2-Clause, BSD-3-Clause, LGPL-2.1
- <?php
- /**
- * CExpressionDependency class file.
- *
- * @author Qiang Xue <qiang.xue@gmail.com>
- * @link http://www.yiiframework.com/
- * @copyright Copyright © 2008-2010 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>
- * @version $Id: CExpressionDependency.php 1678 2010-01-07 21:02:00Z qiang.xue $
- * @package system.caching.dependencies
- * @since 1.0
- */
- class CExpressionDependency extends CCacheDependency
- {
- /**
- * @var string the PHP expression whose result is used to determine the dependency.
- * Starting from version 1.0.11, the expression can also be a valid PHP callback,
- * including class method name (array(ClassName/Object, MethodName)),
- * or anonymous function (PHP 5.3.0+). The function/method will be passed with a
- * parameter which is the dependency object itself.
- */
- public $expression;
- /**
- * Constructor.
- * @param string 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);
- }
- }