0 フォロワー

トレイト yii\base\DynamicContentAwareTrait

実装先yii\filters\PageCache, yii\widgets\FragmentCache
利用可能なバージョン2.0.14
ソースコード https://github.com/yiisoft/yii2/blob/master/framework/base/DynamicContentAwareTrait.php

DynamicContentAwareTrait は、yii\base\View の動的コンテンツ機能をサポートするクラスのための共通メソッドを実装します。

パブリックメソッド

継承されたメソッドを隠す

メソッド 説明 定義元
addDynamicPlaceholder() 動的コンテンツのプレースホルダーを追加します。 yii\base\DynamicContentAwareTrait
getDynamicPlaceholders() 動的コンテンツのプレースホルダーのリストを返します。このメソッドは、コンテンツのキャッシュ機能を実装するために内部的に使用されます。 yii\base\DynamicContentAwareTrait
setDynamicPlaceholders() 動的コンテンツのプレースホルダーのリストを設定します。このメソッドは、コンテンツのキャッシュ機能を実装するために内部的に使用されます。 yii\base\DynamicContentAwareTrait

プロテクトメソッド

継承されたメソッドを隠す

メソッド 説明 定義元
getView() 動的コンテンツを使用してビューまたはビューファイルをレンダリングするために使用できるビューオブジェクトを返します。 yii\base\DynamicContentAwareTrait
updateDynamicContent() $content 内のプレースホルダーを、評価された動的ステートメントの結果で置き換えます。 yii\base\DynamicContentAwareTrait

メソッド詳細

継承されたメソッドを隠す

addDynamicPlaceholder() public メソッド

動的コンテンツのプレースホルダーを追加します。

このメソッドは、コンテンツのキャッシュ機能を実装するために内部的に使用されます。

public void addDynamicPlaceholder ( $name, $statements )
$name string

プレースホルダー名。

$statements string

動的コンテンツを生成するためのPHPステートメント。

                public function addDynamicPlaceholder($name, $statements)
{
    $this->_dynamicPlaceholders[$name] = $statements;
}

            
getDynamicPlaceholders() public メソッド

動的コンテンツのプレースホルダーのリストを返します。このメソッドは、コンテンツのキャッシュ機能を実装するために内部的に使用されます。

public array getDynamicPlaceholders ( )
return array

プレースホルダーのリスト。

                public function getDynamicPlaceholders()
{
    return $this->_dynamicPlaceholders;
}

            
getView() protected abstract メソッド

動的コンテンツを使用してビューまたはビューファイルをレンダリングするために使用できるビューオブジェクトを返します。

protected abstract yii\base\View getView ( )
return yii\base\View

ビューまたはビューファイルをレンダリングするために使用できるビューオブジェクト。

                abstract protected function getView();

            
setDynamicPlaceholders() public メソッド

動的コンテンツのプレースホルダーのリストを設定します。このメソッドは、コンテンツのキャッシュ機能を実装するために内部的に使用されます。

public void setDynamicPlaceholders ( $placeholders )
$placeholders array

プレースホルダーのリスト。

                public function setDynamicPlaceholders($placeholders)
{
    $this->_dynamicPlaceholders = $placeholders;
}

            
updateDynamicContent() protected メソッド

$content 内のプレースホルダーを、評価された動的ステートメントの結果で置き換えます。

protected string updateDynamicContent ( $content, $placeholders, $isRestoredFromCache false )
$content string

解析されるコンテンツ。

$placeholders string[]

プレースホルダーとその値。

$isRestoredFromCache boolean

コンテンツがキャッシュから復元されるかどうか。

return string

最終的なコンテンツ。

                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;
}