PHP Class yii\widgets\FragmentCache

Since: 2.0
Author: Qiang Xue ([email protected])
Inheritance: extends yii\base\Widget
Datei anzeigen Open project: yiisoft/yii2 Class Usage Examples

Public Properties

Property Type Description
$cache the cache object or the application component ID of the cache object. After the FragmentCache object is created, if you want to change this property, you should only assign it with a cache object. Starting from version 2.0.2, this can also be a configuration array for creating the object.
$dependency the dependency that the cached content depends on. This can be either a [[Dependency]] object or a configuration array for creating the dependency object. For example, php [ 'class' => 'yii\caching\DbDependency', 'sql' => 'SELECT MAX(updated_at) FROM post', ] would make the output cache depends on the last modified time of all posts. If any post has its modification time changed, the cached content would be invalidated.
$duration number of seconds that the data can remain valid in cache. Use 0 to indicate that the cached data will never expire.
$dynamicPlaceholders a list of placeholders for embedding dynamic contents. This property is used internally to implement the content caching feature. Do not modify it.
$enabled whether to enable the fragment cache. You may use this property to turn on and off the fragment cache according to specific setting (e.g. enable fragment cache only for GET requests).
$variations list of factors that would cause the variation of the content being cached. Each factor is a string representing a variation (e.g. the language, a GET parameter). The following variation setting will cause the content to be cached in different versions according to the current application language: php [ Yii::$app->language, ]

Public Methods

Method Description
getCachedContent ( ) : string | false Returns the cached content if available.
init ( ) Initializes the FragmentCache object.
run ( ) Marks the end of content to be cached.

Protected Methods

Method Description
calculateKey ( ) : mixed Generates a unique key used for storing the content in cache.
updateDynamicContent ( string $content, array $placeholders ) : string Replaces placeholders in content by results of evaluated dynamic statements.

Method Details

calculateKey() protected method

The key generated depends on both [[id]] and [[variations]].
protected calculateKey ( ) : mixed
return mixed a valid cache key

getCachedContent() public method

Returns the cached content if available.
public getCachedContent ( ) : string | false
return string | false the cached content. False is returned if valid content is not found in the cache.

init() public method

Initializes the FragmentCache object.
public init ( )

run() public method

Content displayed before this method call and after FragmentCache::init will be captured and saved in cache. This method does nothing if valid content is already found in cache.
public run ( )

updateDynamicContent() protected method

Replaces placeholders in content by results of evaluated dynamic statements.
protected updateDynamicContent ( string $content, array $placeholders ) : string
$content string
$placeholders array
return string final content

Property Details

$cache public_oe property

the cache object or the application component ID of the cache object. After the FragmentCache object is created, if you want to change this property, you should only assign it with a cache object. Starting from version 2.0.2, this can also be a configuration array for creating the object.
public $cache

$dependency public_oe property

the dependency that the cached content depends on. This can be either a [[Dependency]] object or a configuration array for creating the dependency object. For example, php [ 'class' => 'yii\caching\DbDependency', 'sql' => 'SELECT MAX(updated_at) FROM post', ] would make the output cache depends on the last modified time of all posts. If any post has its modification time changed, the cached content would be invalidated.
public $dependency

$duration public_oe property

number of seconds that the data can remain valid in cache. Use 0 to indicate that the cached data will never expire.
public $duration

$dynamicPlaceholders public_oe property

a list of placeholders for embedding dynamic contents. This property is used internally to implement the content caching feature. Do not modify it.
public $dynamicPlaceholders

$enabled public_oe property

whether to enable the fragment cache. You may use this property to turn on and off the fragment cache according to specific setting (e.g. enable fragment cache only for GET requests).
public $enabled

$variations public_oe property

list of factors that would cause the variation of the content being cached. Each factor is a string representing a variation (e.g. the language, a GET parameter). The following variation setting will cause the content to be cached in different versions according to the current application language: php [ Yii::$app->language, ]
public $variations