mirror of
				https://github.com/yiisoft/yii2.git
				synced 2025-11-03 22:32:40 +08:00 
			
		
		
		
	
		
			
				
	
	
		
			39 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			39 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
<?php
 | 
						|
/**
 | 
						|
 * @link https://www.yiiframework.com/
 | 
						|
 * @copyright Copyright (c) 2008 Yii Software LLC
 | 
						|
 * @license https://www.yiiframework.com/license/
 | 
						|
 */
 | 
						|
 | 
						|
namespace yii\caching;
 | 
						|
 | 
						|
/**
 | 
						|
 * CallbackDependency represents a dependency based on the result of a callback function.
 | 
						|
 *
 | 
						|
 * Callback function should return a value that serves as the dependency data.
 | 
						|
 *
 | 
						|
 * For more details and usage information on Cache, see the [guide article on caching](guide:caching-overview).
 | 
						|
 *
 | 
						|
 * @author Vlad Varlamov <vlad@varlamov.dev>
 | 
						|
 * @since 2.0.50
 | 
						|
 */
 | 
						|
class CallbackDependency extends Dependency
 | 
						|
{
 | 
						|
    /**
 | 
						|
     * @var callable the PHP callback that will be called to determine if the dependency has been changed.
 | 
						|
     */
 | 
						|
    public $callback;
 | 
						|
 | 
						|
 | 
						|
    /**
 | 
						|
     * Generates the data needed to determine if dependency has been changed.
 | 
						|
     * This method returns the result of the callback function.
 | 
						|
     * @param CacheInterface $cache the cache component that is currently evaluating this dependency
 | 
						|
     * @return mixed the data needed to determine if dependency has been changed.
 | 
						|
     */
 | 
						|
    protected function generateDependencyData($cache)
 | 
						|
    {
 | 
						|
        return ($this->callback)();
 | 
						|
    }
 | 
						|
}
 |