Trait yii\base\DynamicContentAwareTrait
| Implemented by | yii\filters\PageCache, yii\widgets\FragmentCache |
|---|---|
| Available since version | 2.0.14 |
| Source Code | https://github.com/yiisoft/yii2/blob/master/framework/base/DynamicContentAwareTrait.php |
DynamicContentAwareTrait implements common methods for classes which support a yii\base\View dynamic content feature.
Public Methods
| Method | Description | Defined By |
|---|---|---|
| addDynamicPlaceholder() | Adds a placeholder for dynamic content. | yii\base\DynamicContentAwareTrait |
| getDynamicPlaceholders() | Returns a list of placeholders for dynamic content. This method is used internally to implement the content caching feature. | yii\base\DynamicContentAwareTrait |
| setDynamicPlaceholders() | Sets a list of placeholders for dynamic content. This method is used internally to implement the content caching feature. | yii\base\DynamicContentAwareTrait |
Protected Methods
| Method | Description | Defined By |
|---|---|---|
| getView() | Returns the view object that can be used to render views or view files using dynamic contents. | yii\base\DynamicContentAwareTrait |
| updateDynamicContent() | Replaces placeholders in $content with results of evaluated dynamic statements. | yii\base\DynamicContentAwareTrait |
Method Details
Adds a placeholder for dynamic content.
This method is used internally to implement the content caching feature.
| public mixed addDynamicPlaceholder ( mixed $name, mixed $statements ) | ||
| $name | mixed | The placeholder name. |
| $statements | mixed | The PHP statements for generating the dynamic content. |
public function addDynamicPlaceholder($name, $statements) { $this->_dynamicPlaceholders[$name] = $statements; } Returns a list of placeholders for dynamic content. This method is used internally to implement the content caching feature.
| public array getDynamicPlaceholders ( ) | ||
| return | array | A list of placeholders. |
|---|---|---|
public function getDynamicPlaceholders() { return $this->_dynamicPlaceholders; } Returns the view object that can be used to render views or view files using dynamic contents.
| protected abstract yii\base\View getView ( ) | ||
| return | yii\base\View | The view object that can be used to render views or view files. |
|---|---|---|
abstract protected function getView(); Sets a list of placeholders for dynamic content. This method is used internally to implement the content caching feature.
| public mixed setDynamicPlaceholders ( mixed $placeholders ) | ||
| $placeholders | mixed | A list of placeholders. |
public function setDynamicPlaceholders($placeholders) { $this->_dynamicPlaceholders = $placeholders; } Replaces placeholders in $content with results of evaluated dynamic statements.
| protected string updateDynamicContent ( string $content, string[] $placeholders, boolean $isRestoredFromCache = false ) | ||
| $content | string | Content to be parsed. |
| $placeholders | string[] | Placeholders and their values. |
| $isRestoredFromCache | boolean | Whether content is going to be restored from cache. |
| return | string | Final content. |
|---|---|---|
protected function updateDynamicContent($content, $placeholders, $isRestoredFromCache = false) { if (empty($placeholders) || !is_array($placeholders)) { return $content; } if (count($this->getView()->getDynamicContents()) === 0) { // outermost cache: replace placeholder with dynamic content foreach ($placeholders as $name => $statements) { $placeholders[$name] = $this->getView()->evaluateDynamicContent($statements); } $content = strtr($content, $placeholders); } if ($isRestoredFromCache) { $view = $this->getView(); foreach ($placeholders as $name => $statements) { $view->addDynamicPlaceholder($name, $statements); } } return $content; }
Signup or Login in order to comment.