yii2

Форк
1
/
ExpressionDependency.php 
50 строк · 1.9 Кб
1
<?php
2
/**
3
 * @link https://www.yiiframework.com/
4
 * @copyright Copyright (c) 2008 Yii Software LLC
5
 * @license https://www.yiiframework.com/license/
6
 */
7

8
namespace yii\caching;
9

10
/**
11
 * ExpressionDependency represents a dependency based on the result of a PHP expression.
12
 *
13
 * ExpressionDependency will use `eval()` to evaluate the PHP expression.
14
 * The dependency is reported as unchanged if and only if the result of the expression is
15
 * the same as the one evaluated when storing the data to cache.
16
 *
17
 * A PHP expression can be any PHP code that has a value. To learn more about what an expression is,
18
 * please refer to the [php manual](https://www.php.net/manual/en/language.expressions.php).
19
 *
20
 * For more details and usage information on Cache, see the [guide article on caching](guide:caching-overview).
21
 *
22
 * @author Qiang Xue <qiang.xue@gmail.com>
23
 * @since 2.0
24
 */
25
class ExpressionDependency extends Dependency
26
{
27
    /**
28
     * @var string the string representation of a PHP expression whose result is used to determine the dependency.
29
     * A PHP expression can be any PHP code that evaluates to a value. To learn more about what an expression is,
30
     * please refer to the [php manual](https://www.php.net/manual/en/language.expressions.php).
31
     */
32
    public $expression = 'true';
33
    /**
34
     * @var mixed custom parameters associated with this dependency. You may get the value
35
     * of this property in [[expression]] using `$this->params`.
36
     */
37
    public $params;
38

39

40
    /**
41
     * Generates the data needed to determine if dependency has been changed.
42
     * This method returns the result of the PHP expression.
43
     * @param CacheInterface $cache the cache component that is currently evaluating this dependency
44
     * @return mixed the data needed to determine if dependency has been changed.
45
     */
46
    protected function generateDependencyData($cache)
47
    {
48
        return eval("return {$this->expression};");
49
    }
50
}
51

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.