0 follower

クラス yii\widgets\ListView

継承yii\widgets\ListView » yii\widgets\BaseListView » yii\base\Widget » yii\base\Component » yii\base\BaseObject
実装yii\base\Configurable, yii\base\ViewContextInterface
利用可能なバージョン2.0
ソースコード https://github.com/yiisoft/yii2/blob/master/framework/widgets/ListView.php

ListView ウィジェットは、データプロバイダからのデータを表示するために使用されます。 各データモデルは、指定されたビューを使用してレンダリングされます。

ListView の詳細と使用方法については、データウィジェットに関するガイド記事を参照してください。

パブリックプロパティ

継承されたプロパティを隠す

プロパティ 説明 定義元
$afterItem Closure 各データモデルのレンダリング後に一度呼び出される匿名関数。 yii\widgets\ListView
$autoIdPrefix string 自動生成されるウィジェット ID のプレフィックス。 yii\base\Widget
$beforeItem Closure 各データモデルのレンダリング前に一度呼び出される匿名関数。 yii\widgets\ListView
$behaviors yii\base\Behavior[] このコンポーネントにアタッチされたビヘイビアのリスト。 yii\base\Component
$dataProvider yii\data\DataProviderInterface ビューのデータプロバイダ。 yii\widgets\BaseListView
$emptyText string|false $dataProvider にデータがない場合に表示される HTML コンテンツ。 yii\widgets\BaseListView
$emptyTextOptions array リストビューの emptyText の HTML 属性。 yii\widgets\BaseListView
$id string|null ウィジェットの ID。 yii\base\Widget
$itemOptions array|Closure 各データモデルのレンダリング結果のコンテナの HTML 属性。 yii\widgets\ListView
$itemView string|callable 各データアイテムをレンダリングするためのビューの名前、または各データアイテムをレンダリングするためのコールバック(例:匿名関数)。 yii\widgets\ListView
$layout string リストビューのさまざまなセクションをどのように構成するかを決定するレイアウト。 yii\widgets\BaseListView
$options array リストビューのコンテナタグの HTML 属性。 yii\widgets\ListView
$pager array ページャーウィジェットの構成。 yii\widgets\BaseListView
$separator string 連続する 2 つのアイテム間に表示される HTML コード。 yii\widgets\ListView
$showOnEmpty boolean $dataProvider がデータを返さない場合に空のリストビューを表示するかどうか。 yii\widgets\BaseListView
$sorter array ソーターウィジェットの構成。 yii\widgets\BaseListView
$summary string リストビューの概要として表示される HTML コンテンツ。 yii\widgets\BaseListView
$summaryOptions array リストビューの概要の HTML 属性。 yii\widgets\BaseListView
$view yii\web\View ビューまたはビューファイルのレンダリングに使用できるビューオブジェクト。 yii\base\Widget
$viewParams array $itemView がレンダリングされるときに渡される追加のパラメータ。 yii\widgets\ListView
$viewPath string このウィジェットのビューファイルを含むディレクトリ。 yii\base\Widget

パブリックメソッド

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

メソッド 説明 定義元
__call() クラスメソッドではない名前付きメソッドを呼び出します。 yii\base\Component
__clone() このメソッドは、既存のオブジェクトをクローンしてオブジェクトを作成した後に呼び出されます。 yii\base\Component
__construct() コンストラクタ。 yii\base\BaseObject
__get() コンポーネントプロパティの値を返します。 yii\base\Component
__isset() プロパティが設定されているか、つまり定義されていて null でないかを確認します。 yii\base\Component
__set() コンポーネントプロパティの値を設定します。 yii\base\Component
__unset() コンポーネントプロパティを null に設定します。 yii\base\Component
afterRun() このメソッドは、ウィジェットの実行直後に呼び出されます。 yii\base\Widget
attachBehavior() このコンポーネントにビヘイビアをアタッチします。 yii\base\Component
attachBehaviors() コンポーネントにビヘイビアのリストをアタッチします。 yii\base\Component
beforeRun() このメソッドは、ウィジェットが実行される直前に呼び出されます。 yii\base\Widget
begin() ウィジェットを開始します。 yii\base\Widget
behaviors() このコンポーネントが振る舞うべきビヘイビアのリストを返します。 yii\base\Component
canGetProperty() プロパティを読み取ることができるかどうかを示す値を返します。 yii\base\Component
canSetProperty() プロパティを設定できるかどうかを示す値を返します。 yii\base\Component
className() このクラスの完全修飾名を返します。 yii\base\BaseObject
detachBehavior() コンポーネントからビヘイビアをデタッチします。 yii\base\Component
detachBehaviors() コンポーネントからすべてのビヘイビアをデタッチします。 yii\base\Component
end() ウィジェットを終了します。 yii\base\Widget
ensureBehaviors() behaviors() で宣言されたビヘイビアがこのコンポーネントにアタッチされていることを確認します。 yii\base\Component
getBehavior() 名前付きのビヘイビアオブジェクトを返します。 yii\base\Component
getBehaviors() このコンポーネントにアタッチされたすべてのビヘイビアを返します。 yii\base\Component
getId() ウィジェットの ID を返します。 yii\base\Widget
getView() ビューまたはビューファイルをレンダリングするために使用できるビューオブジェクトを返します。 yii\base\Widget
getViewPath() このウィジェットのビューファイルを含むディレクトリを返します。 yii\base\Widget
hasEventHandlers() 名前付きのイベントにアタッチされたハンドラーがあるかどうかを示す値を返します。 yii\base\Component
hasMethod() メソッドが定義されているかどうかを示す値を返します。 yii\base\Component
hasProperty() このコンポーネントにプロパティが定義されているかどうかを示す値を返します。 yii\base\Component
init() ビューを初期化します。 yii\widgets\BaseListView
off() このコンポーネントから既存のイベントハンドラーをデタッチします。 yii\base\Component
on() イベントにイベントハンドラーをアタッチします。 yii\base\Component
render() ビューをレンダリングします。 yii\base\Widget
renderEmpty() リストビューにデータがないことを示す HTML コンテンツをレンダリングします。 yii\widgets\BaseListView
renderFile() ビューファイルをレンダリングします。 yii\base\Widget
renderItem() 単一のデータモデルをレンダリングします。 yii\widgets\ListView
renderItems() すべてのデータモデルをレンダリングします。 yii\widgets\ListView
renderPager() ページャーをレンダリングします。 yii\widgets\BaseListView
renderSection() 指定された名前のセクションをレンダリングします。 yii\widgets\BaseListView
renderSorter() ソーターをレンダリングします。 yii\widgets\BaseListView
renderSummary() 概要テキストをレンダリングします。 yii\widgets\BaseListView
run() ウィジェットを実行します。 yii\widgets\BaseListView
setId() ウィジェットのIDを設定します。 yii\base\Widget
setView() このウィジェットで使用するビューオブジェクトを設定します。 yii\base\Widget
trigger() イベントをトリガーします。 yii\base\Component
widget() ウィジェットのインスタンスを作成して実行します。 yii\base\Widget

保護されたメソッド

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

メソッド 説明 定義元
renderAfterItem() $afterItem クロージャを呼び出し、実行結果を返します。 yii\widgets\ListView
renderBeforeItem() $beforeItem クロージャを呼び出し、実行結果を返します。 yii\widgets\ListView

イベント

継承されたイベントを非表示

イベント 説明 定義元
EVENT_AFTER_RUN yii\base\WidgetEvent ウィジェットの実行直後に発生するイベント。(バージョン 2.0.11 以降で利用可能) yii\base\Widget
EVENT_BEFORE_RUN yii\base\WidgetEvent ウィジェットの実行直前に発生するイベント。(バージョン 2.0.11 以降で利用可能) yii\base\Widget
EVENT_INIT yii\base\Event init() を介してウィジェットが初期化されるときにトリガーされるイベント。(バージョン 2.0.11 以降で利用可能) yii\base\Widget

プロパティの詳細

継承されたプロパティを隠す

$afterItem public プロパティ (バージョン 2.0.11 以降で利用可能)

各データモデルのレンダリング後に一度呼び出される匿名関数。

$beforeItem と同じシグネチャを持つ必要があります。

関数の戻り値は直接レンダリングされます。注:関数がnullを返す場合、アイテムの後に何もレンダリングされません。

renderAfterItem()も参照してください。

public Closure $afterItem null
$beforeItem public プロパティ (バージョン 2.0.11 以降で利用可能)

各データモデルをレンダリングする前に一度だけ呼び出される匿名関数。次のシグネチャを持つ必要があります。

function ($model, $key, $index, $widget)
  • $model: レンダリングされる現在のデータモデル
  • $key: 現在のデータモデルに関連付けられたキー値
  • $index: $dataProvider によって返されるモデル配列内のデータモデルの 0 から始まるインデックス
  • $widget: ListView オブジェクト

関数の戻り値は直接レンダリングされます。注:関数がnullを返す場合、アイテムの前に何もレンダリングされません。

renderBeforeItem()も参照してください。

public Closure $beforeItem null
$itemOptions public プロパティ

各データモデルのレンダリング結果のコンテナのHTML属性。これは、各データアイテムをレンダリングするための共通のHTML属性を指定する配列、またはHTML属性の配列を返す匿名関数のいずれかです。匿名関数は、$dataProvider によって返されるすべてのデータモデルに対して一度呼び出されます。「tag」要素はコンテナ要素のタグ名を指定し、デフォルトは「div」です。「tag」がfalseの場合、コンテナ要素はレンダリングされないことを意味します。

このプロパティが匿名関数として指定されている場合、次のシグネチャを持つ必要があります。

function ($model, $key, $index, $widget)

属性がどのようにレンダリングされるかの詳細については、yii\helpers\Html::renderTagAttributes()も参照してください。

$itemView public プロパティ

各データアイテムをレンダリングするためのビューの名前、または各データアイテムをレンダリングするためのコールバック (例: 匿名関数)。ビュー名を指定した場合、次の変数がビューで使用可能になります。

  • $model: mixed、データモデル
  • $key: mixed、データアイテムに関連付けられたキー値
  • $index: integer、$dataProvider によって返されるアイテム配列内のデータアイテムの 0 から始まるインデックス。
  • $widget: ListView、このウィジェットインスタンス

ビュー名は、$view オブジェクトの現在のコンテキストによってビューファイルに解決されることに注意してください。

このプロパティがコールバックとして指定されている場合、次のシグネチャを持つ必要があります。

function ($model, $key, $index, $widget)
public string|callable $itemView null
$options public プロパティ

リストビューのコンテナタグのHTML属性。「tag」要素はコンテナ要素のタグ名を指定し、デフォルトは「div」です。

属性がどのようにレンダリングされるかの詳細については、yii\helpers\Html::renderTagAttributes()も参照してください。

public array $options = [
    
'class' => 'list-view',
]
$separator public プロパティ

連続する 2 つのアイテム間に表示される HTML コード。

public string $separator "\n"
$viewParams public プロパティ

$itemView がレンダリングされるときに追加のパラメータを渡します。このプロパティは、$itemView がビュー名を表す文字列の場合にのみ使用されます。

public array $viewParams = []

メソッドの詳細

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

__call() public メソッド

定義場所: yii\base\Component::__call()

クラスメソッドではない名前付きメソッドを呼び出します。

このメソッドは、アタッチされた動作に名前付きメソッドがあるかどうかを確認し、利用可能な場合は実行します。

不明なメソッドが呼び出されたときに暗黙的に呼び出されるPHPマジックメソッドであるため、このメソッドを直接呼び出さないでください。

public mixed __call ( $name, $params )
$name string

メソッド名

$params array

メソッドパラメータ

return mixed

メソッドの戻り値

throws yii\base\UnknownMethodException

不明なメソッドを呼び出す場合

                public function __call($name, $params)
{
    $this->ensureBehaviors();
    foreach ($this->_behaviors as $object) {
        if ($object->hasMethod($name)) {
            return call_user_func_array([$object, $name], $params);
        }
    }
    throw new UnknownMethodException('Calling unknown method: ' . get_class($this) . "::$name()");
}

            
__clone() public メソッド

定義元: yii\base\Component::__clone()

このメソッドは、既存のオブジェクトをクローンしてオブジェクトを作成した後に呼び出されます。

これは、すべてのビヘイビアが古いオブジェクトにアタッチされているため、それらを削除します。

public void __clone ( )

                public function __clone()
{
    $this->_events = [];
    $this->_eventWildcards = [];
    $this->_behaviors = null;
}

            
__construct() public メソッド

定義元: yii\base\BaseObject::__construct()

コンストラクタ。

デフォルトの実装は2つのことを行います。

  • 与えられた構成 $config でオブジェクトを初期化します。
  • init() を呼び出します。

このメソッドが子クラスでオーバーライドされる場合、以下を推奨します。

  • コンストラクタの最後のパラメータは、ここでの $config のように構成配列であること。
  • コンストラクタの最後に親の実装を呼び出すこと。
public void __construct ( $config = [] )
$config array

オブジェクトのプロパティを初期化するために使用される名前と値のペア

                public function __construct($config = [])
{
    if (!empty($config)) {
        Yii::configure($this, $config);
    }
    $this->init();
}

            
__get() public メソッド

定義元: yii\base\Component::__get()

コンポーネントプロパティの値を返します。

このメソッドは、次の順序で確認し、それに応じて動作します。

  • getter によって定義されたプロパティ: getter の結果を返します
  • ビヘイビアのプロパティ: ビヘイビアのプロパティ値を返します

$value = $component->property; を実行するときに暗黙的に呼び出されるPHPマジックメソッドであるため、このメソッドを直接呼び出さないでください。

__set() も参照してください。

public mixed __get ( $name )
$name string

プロパティ名

return mixed

プロパティの値またはビヘイビアのプロパティの値

throws yii\base\UnknownPropertyException

プロパティが定義されていない場合

throws yii\base\InvalidCallException

プロパティが書き込み専用の場合。

                public function __get($name)
{
    $getter = 'get' . $name;
    if (method_exists($this, $getter)) {
        // read property, e.g. getName()
        return $this->$getter();
    }
    // behavior property
    $this->ensureBehaviors();
    foreach ($this->_behaviors as $behavior) {
        if ($behavior->canGetProperty($name)) {
            return $behavior->$name;
        }
    }
    if (method_exists($this, 'set' . $name)) {
        throw new InvalidCallException('Getting write-only property: ' . get_class($this) . '::' . $name);
    }
    throw new UnknownPropertyException('Getting unknown property: ' . get_class($this) . '::' . $name);
}

            
__isset() public メソッド

定義元: yii\base\Component::__isset()

プロパティが設定されているか、つまり定義されていて null でないかを確認します。

このメソッドは、次の順序で確認し、それに応じて動作します。

  • setterによって定義されたプロパティ: プロパティが設定されているかどうかを返します
  • ビヘイビアのプロパティ: プロパティが設定されているかどうかを返します
  • 存在しないプロパティには false を返します

isset($component->property) を実行するときに暗黙的に呼び出されるPHPマジックメソッドであるため、このメソッドを直接呼び出さないでください。

https://www.php.net/manual/en/function.isset.php も参照してください。

public boolean __isset ( $name )
$name string

プロパティ名またはイベント名

return boolean

名前付きプロパティが設定されているかどうか

                public function __isset($name)
{
    $getter = 'get' . $name;
    if (method_exists($this, $getter)) {
        return $this->$getter() !== null;
    }
    // behavior property
    $this->ensureBehaviors();
    foreach ($this->_behaviors as $behavior) {
        if ($behavior->canGetProperty($name)) {
            return $behavior->$name !== null;
        }
    }
    return false;
}

            
__set() public メソッド

定義元: yii\base\Component::__set()

コンポーネントプロパティの値を設定します。

このメソッドは、次の順序で確認し、それに応じて動作します。

  • setterによって定義されたプロパティ: プロパティ値を設定します
  • "on xyz"の形式のイベント: イベント "xyz" にハンドラをアタッチします
  • "as xyz"の形式のビヘイビア: "xyz" という名前のビヘイビアをアタッチします
  • ビヘイビアのプロパティ: ビヘイビアのプロパティ値を設定します

$component->property = $value; を実行するときに暗黙的に呼び出されるPHPマジックメソッドであるため、このメソッドを直接呼び出さないでください。

__get() も参照してください。

public void __set ( $name, $value )
$name string

プロパティ名またはイベント名

$value mixed

プロパティ値

throws yii\base\UnknownPropertyException

プロパティが定義されていない場合

throws yii\base\InvalidCallException

プロパティが読み取り専用の場合。

                public function __set($name, $value)
{
    $setter = 'set' . $name;
    if (method_exists($this, $setter)) {
        // set property
        $this->$setter($value);
        return;
    } elseif (strncmp($name, 'on ', 3) === 0) {
        // on event: attach event handler
        $this->on(trim(substr($name, 3)), $value);
        return;
    } elseif (strncmp($name, 'as ', 3) === 0) {
        // as behavior: attach behavior
        $name = trim(substr($name, 3));
        $this->attachBehavior($name, $value instanceof Behavior ? $value : Yii::createObject($value));
        return;
    }
    // behavior property
    $this->ensureBehaviors();
    foreach ($this->_behaviors as $behavior) {
        if ($behavior->canSetProperty($name)) {
            $behavior->$name = $value;
            return;
        }
    }
    if (method_exists($this, 'get' . $name)) {
        throw new InvalidCallException('Setting read-only property: ' . get_class($this) . '::' . $name);
    }
    throw new UnknownPropertyException('Setting unknown property: ' . get_class($this) . '::' . $name);
}

            
__unset() public メソッド

定義元: yii\base\Component::__unset()

コンポーネントプロパティを null に設定します。

このメソッドは、次の順序で確認し、それに応じて動作します。

  • setterによって定義されたプロパティ: プロパティ値を null に設定します
  • ビヘイビアのプロパティ: プロパティ値を null に設定します

unset($component->property) を実行するときに暗黙的に呼び出されるPHPマジックメソッドであるため、このメソッドを直接呼び出さないでください。

https://www.php.net/manual/en/function.unset.php も参照してください。

public void __unset ( $name )
$name string

プロパティ名

throws yii\base\InvalidCallException

プロパティが読み取り専用の場合。

                public function __unset($name)
{
    $setter = 'set' . $name;
    if (method_exists($this, $setter)) {
        $this->$setter(null);
        return;
    }
    // behavior property
    $this->ensureBehaviors();
    foreach ($this->_behaviors as $behavior) {
        if ($behavior->canSetProperty($name)) {
            $behavior->$name = null;
            return;
        }
    }
    throw new InvalidCallException('Unsetting an unknown or read-only property: ' . get_class($this) . '::' . $name);
}

            
afterRun() public メソッド (バージョン 2.0.11 から利用可能)

定義元: yii\base\Widget::afterRun()

このメソッドは、ウィジェットの実行直後に呼び出されます。

このメソッドは、EVENT_AFTER_RUN イベントをトリガーします。メソッドの戻り値は、ウィジェットの戻り値として使用されます。

このメソッドをオーバーライドする場合、コードは次のようになります。

public function afterRun($result)
{
    $result = parent::afterRun($result);
    // your custom code here
    return $result;
}
public mixed afterRun ( $result )
$result mixed

ウィジェットの戻り値。

return mixed

処理されたウィジェットの結果。

                public function afterRun($result)
{
    $event = new WidgetEvent();
    $event->result = $result;
    $this->trigger(self::EVENT_AFTER_RUN, $event);
    return $event->result;
}

            
attachBehavior() public メソッド

定義元: yii\base\Component::attachBehavior()

このコンポーネントにビヘイビアをアタッチします。

このメソッドは、与えられた構成に基づいてビヘイビアオブジェクトを作成します。その後、yii\base\Behavior::attach() メソッドを呼び出すことで、ビヘイビアオブジェクトはこのコンポーネントにアタッチされます。

detachBehavior() も参照してください。

public yii\base\Behavior attachBehavior ( $name, $behavior )
$name string

ビヘイビアの名前。

$behavior string|array|yii\base\Behavior

ビヘイビアの構成。これは、次のいずれかになります。

  • yii\base\Behavior オブジェクト
  • ビヘイビアクラスを指定する文字列
  • Yii::createObject() に渡してビヘイビアオブジェクトを作成するオブジェクト構成配列。
return yii\base\Behavior

ビヘイビアオブジェクト

                public function attachBehavior($name, $behavior)
{
    $this->ensureBehaviors();
    return $this->attachBehaviorInternal($name, $behavior);
}

            
attachBehaviors() public メソッド

定義元: yii\base\Component::attachBehaviors()

コンポーネントにビヘイビアのリストをアタッチします。

各ビヘイビアは名前でインデックスされ、yii\base\Behaviorオブジェクト、ビヘイビアクラスを指定する文字列、またはビヘイビアを作成するための設定配列である必要があります。

こちらも参照してください: attachBehavior()

public void attachBehaviors ( $behaviors )
$behaviors array

コンポーネントにアタッチされるビヘイビアのリスト

                public function attachBehaviors($behaviors)
{
    $this->ensureBehaviors();
    foreach ($behaviors as $name => $behavior) {
        $this->attachBehaviorInternal($name, $behavior);
    }
}

            
beforeRun() public メソッド (バージョン 2.0.11 から利用可能)

定義元: yii\base\Widget::beforeRun()

このメソッドは、ウィジェットが実行される直前に呼び出されます。

このメソッドは EVENT_BEFORE_RUN イベントをトリガーします。このメソッドの戻り値は、ウィジェットの実行を続行するかどうかを決定します。

このメソッドをオーバーライドする場合は、以下のように親の実装を呼び出すようにしてください。

public function beforeRun()
{
    if (!parent::beforeRun()) {
        return false;
    }

    // your custom code here

    return true; // or false to not run the widget
}
public boolean beforeRun ( )
return boolean

ウィジェットを実行し続けるべきかどうか。

                public function beforeRun()
{
    $event = new WidgetEvent();
    $this->trigger(self::EVENT_BEFORE_RUN, $event);
    return $event->isValid;
}

            
begin() public static メソッド

定義元: yii\base\Widget::begin()

ウィジェットを開始します。

このメソッドは、呼び出し元のクラスのインスタンスを作成します。作成されたインスタンスに構成が適用されます。後で、一致する end() 呼び出しを行う必要があります。一部のウィジェットは出力バッファリングを使用している可能性があるため、出力バッファのネストが壊れないように、end() 呼び出しは同じビューで行う必要があります。

こちらも参照してください: end()

public static static begin ( $config = [] )
$config array

オブジェクトのプロパティを初期化するために使用される名前と値のペア

return yii\base\Widget

新しく作成されたウィジェットインスタンス

                public static function begin($config = [])
{
    $config['class'] = get_called_class();
    /* @var $widget Widget */
    $widget = Yii::createObject($config);
    self::$stack[] = $widget;
    return $widget;
}

            
behaviors() public メソッド

定義元: yii\base\Component::behaviors()

このコンポーネントが振る舞うべきビヘイビアのリストを返します。

子クラスは、ビヘイビアとして機能させたいビヘイビアを指定するために、このメソッドをオーバーライドできます。

このメソッドの戻り値は、ビヘイビア名でインデックスされたビヘイビアオブジェクトまたは設定の配列である必要があります。ビヘイビア構成は、ビヘイビアクラスを指定する文字列、または次の構造の配列にすることができます。

'behaviorName' => [
    'class' => 'BehaviorClass',
    'property1' => 'value1',
    'property2' => 'value2',
]

ビヘイビアクラスは yii\base\Behavior から拡張する必要があることに注意してください。ビヘイビアは、名前を使用するか、匿名でアタッチできます。名前が配列キーとして使用されている場合、この名前を使用して、後で getBehavior() を使用してビヘイビアを取得するか、detachBehavior() を使用してデタッチできます。匿名ビヘイビアは、取得またはデタッチできません。

このメソッドで宣言されたビヘイビアは、コンポーネントに自動的に (オンデマンドで) アタッチされます。

public array behaviors ( )
return array

ビヘイビアの設定。

                public function behaviors()
{
    return [];
}

            
canGetProperty() public メソッド

定義元: yii\base\Component::canGetProperty()

プロパティを読み取ることができるかどうかを示す値を返します。

プロパティは次の場合に読み取ることができます。

  • クラスに指定された名前に関連付けられた getter メソッドがある場合 (この場合、プロパティ名はケースインセンシティブです)。
  • クラスに指定された名前のメンバ変数がある場合 ($checkVars が true の場合)。
  • アタッチされたビヘイビアに、指定された名前の読み取り可能なプロパティがある場合 ($checkBehaviors が true の場合)。

こちらも参照してください: canSetProperty()

public boolean canGetProperty ( $name, $checkVars true, $checkBehaviors true )
$name string

プロパティ名

$checkVars boolean

メンバ変数をプロパティとして扱うかどうか

$checkBehaviors boolean

ビヘイビアのプロパティをこのコンポーネントのプロパティとして扱うかどうか

return boolean

プロパティが読み取り可能かどうか

                public function canGetProperty($name, $checkVars = true, $checkBehaviors = true)
{
    if (method_exists($this, 'get' . $name) || $checkVars && property_exists($this, $name)) {
        return true;
    } elseif ($checkBehaviors) {
        $this->ensureBehaviors();
        foreach ($this->_behaviors as $behavior) {
            if ($behavior->canGetProperty($name, $checkVars)) {
                return true;
            }
        }
    }
    return false;
}

            
canSetProperty() public メソッド

定義元: yii\base\Component::canSetProperty()

プロパティを設定できるかどうかを示す値を返します。

プロパティは次の場合に書き込むことができます。

  • クラスに指定された名前に関連付けられた setter メソッドがある場合 (この場合、プロパティ名はケースインセンシティブです)。
  • クラスに指定された名前のメンバ変数がある場合 ($checkVars が true の場合)。
  • アタッチされたビヘイビアに、指定された名前の書き込み可能なプロパティがある場合 ($checkBehaviors が true の場合)。

こちらも参照してください: canGetProperty()

public boolean canSetProperty ( $name, $checkVars true, $checkBehaviors true )
$name string

プロパティ名

$checkVars boolean

メンバ変数をプロパティとして扱うかどうか

$checkBehaviors boolean

ビヘイビアのプロパティをこのコンポーネントのプロパティとして扱うかどうか

return boolean

プロパティが書き込み可能かどうか

                public function canSetProperty($name, $checkVars = true, $checkBehaviors = true)
{
    if (method_exists($this, 'set' . $name) || $checkVars && property_exists($this, $name)) {
        return true;
    } elseif ($checkBehaviors) {
        $this->ensureBehaviors();
        foreach ($this->_behaviors as $behavior) {
            if ($behavior->canSetProperty($name, $checkVars)) {
                return true;
            }
        }
    }
    return false;
}

            
className() public static メソッド
2.0.14 から非推奨。PHP >=5.5 では、代わりに ::class を使用してください。

定義元: yii\base\BaseObject::className()

このクラスの完全修飾名を返します。

public static string className ( )
return string

このクラスの完全修飾名。

                public static function className()
{
    return get_called_class();
}

            
detachBehavior() public メソッド

定義元: yii\base\Component::detachBehavior()

コンポーネントからビヘイビアをデタッチします。

ビヘイビアの yii\base\Behavior::detach() メソッドが呼び出されます。

public yii\base\Behavior|null detachBehavior ( $name )
$name string

ビヘイビアの名前。

return yii\base\Behavior|null

デタッチされたビヘイビア。ビヘイビアが存在しない場合は Null。

                public function detachBehavior($name)
{
    $this->ensureBehaviors();
    if (isset($this->_behaviors[$name])) {
        $behavior = $this->_behaviors[$name];
        unset($this->_behaviors[$name]);
        $behavior->detach();
        return $behavior;
    }
    return null;
}

            
detachBehaviors() public メソッド

定義元: yii\base\Component::detachBehaviors()

コンポーネントからすべてのビヘイビアをデタッチします。

public void detachBehaviors ( )

                public function detachBehaviors()
{
    $this->ensureBehaviors();
    foreach ($this->_behaviors as $name => $behavior) {
        $this->detachBehavior($name);
    }
}

            
end() public static メソッド

定義元: yii\base\Widget::end()

ウィジェットを終了します。

ウィジェットのレンダリング結果は直接出力されることに注意してください。

begin()も参照してください。

public static static end ( )
return yii\base\Widget

終了したウィジェットのインスタンス。

throws yii\base\InvalidCallException

begin()end()の呼び出しが正しくネストされていない場合。

                public static function end()
{
    if (!empty(self::$stack)) {
        $widget = array_pop(self::$stack);
        $calledClass = get_called_class();
        if (Yii::$container->has($calledClass) && isset(Yii::$container->getDefinitions()[$calledClass]['class'])) {
            $calledClass = Yii::$container->getDefinitions()[$calledClass]['class'];
        }
        if (get_class($widget) === $calledClass) {
            /* @var $widget Widget */
            if ($widget->beforeRun()) {
                $result = $widget->run();
                $result = $widget->afterRun($result);
                echo $result;
            }
            return $widget;
        }
        throw new InvalidCallException('Expecting end() of ' . get_class($widget) . ', found ' . get_called_class());
    }
    throw new InvalidCallException('Unexpected ' . get_called_class() . '::end() call. A matching begin() is not found.');
}

            
ensureBehaviors() public メソッド

定義元: yii\base\Component::ensureBehaviors()

behaviors() で宣言されたビヘイビアがこのコンポーネントにアタッチされていることを確認します。

public void ensureBehaviors ( )

                public function ensureBehaviors()
{
    if ($this->_behaviors === null) {
        $this->_behaviors = [];
        foreach ($this->behaviors() as $name => $behavior) {
            $this->attachBehaviorInternal($name, $behavior);
        }
    }
}

            
getBehavior() public メソッド

定義元: yii\base\Component::getBehavior()

名前付きのビヘイビアオブジェクトを返します。

public yii\base\Behavior|null getBehavior ( $name )
$name string

ビヘイビアの名前

return yii\base\Behavior|null

ビヘイビアオブジェクト。存在しない場合はnull。

                public function getBehavior($name)
{
    $this->ensureBehaviors();
    return isset($this->_behaviors[$name]) ? $this->_behaviors[$name] : null;
}

            
getBehaviors() public メソッド

定義元: yii\base\Component::getBehaviors()

このコンポーネントにアタッチされたすべてのビヘイビアを返します。

public yii\base\Behavior[] getBehaviors ( )
return yii\base\Behavior[]

このコンポーネントにアタッチされたビヘイビアのリスト

                public function getBehaviors()
{
    $this->ensureBehaviors();
    return $this->_behaviors;
}

            
getId() public メソッド

定義元: yii\base\Widget::getId()

ウィジェットの ID を返します。

public string|null getId ( $autoGenerate true )
$autoGenerate boolean

以前に設定されていない場合にIDを生成するかどうか

return string|null

ウィジェットの ID。

                public function getId($autoGenerate = true)
{
    if ($autoGenerate && $this->_id === null) {
        $this->_id = static::$autoIdPrefix . static::$counter++;
    }
    return $this->_id;
}

            
getView() public メソッド

定義元: yii\base\Widget::getView()

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

render()およびrenderFile()メソッドは、実際のビューレンダリングを実装するために、このビューオブジェクトを使用します。設定されていない場合、デフォルトで「view」アプリケーションコンポーネントになります。

public yii\web\View getView ( )
return yii\web\View

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

                public function getView()
{
    if ($this->_view === null) {
        $this->_view = Yii::$app->getView();
    }
    return $this->_view;
}

            
getViewPath() public メソッド

定義元: yii\base\Widget::getViewPath()

このウィジェットのビューファイルを含むディレクトリを返します。

デフォルトの実装では、ウィジェットクラスファイルを含むディレクトリの下の「views」サブディレクトリを返します。

public string getViewPath ( )
return string

このウィジェットのビューファイルを含むディレクトリ。

                public function getViewPath()
{
    $class = new ReflectionClass($this);
    return dirname($class->getFileName()) . DIRECTORY_SEPARATOR . 'views';
}

            
hasEventHandlers() public メソッド

定義元: yii\base\Component::hasEventHandlers()

名前付きのイベントにアタッチされたハンドラーがあるかどうかを示す値を返します。

public boolean hasEventHandlers ( $name )
$name string

イベント名

return boolean

イベントにアタッチされたハンドラーがあるかどうか。

                public function hasEventHandlers($name)
{
    $this->ensureBehaviors();
    if (!empty($this->_events[$name])) {
        return true;
    }
    foreach ($this->_eventWildcards as $wildcard => $handlers) {
        if (!empty($handlers) && StringHelper::matchWildcard($wildcard, $name)) {
            return true;
        }
    }
    return Event::hasHandlers($this, $name);
}

            
hasMethod() public メソッド

定義元: yii\base\Component::hasMethod()

メソッドが定義されているかどうかを示す値を返します。

メソッドが定義されている場合

  • クラスに指定された名前のメソッドがある場合
  • アタッチされたビヘイビアに指定された名前のメソッドがある場合($checkBehaviorsがtrueの場合)。
public boolean hasMethod ( $name, $checkBehaviors true )
$name string

プロパティ名

$checkBehaviors boolean

ビヘイビアのメソッドをこのコンポーネントのメソッドとして扱うかどうか

return boolean

メソッドが定義されているかどうか

                public function hasMethod($name, $checkBehaviors = true)
{
    if (method_exists($this, $name)) {
        return true;
    } elseif ($checkBehaviors) {
        $this->ensureBehaviors();
        foreach ($this->_behaviors as $behavior) {
            if ($behavior->hasMethod($name)) {
                return true;
            }
        }
    }
    return false;
}

            
hasProperty() public メソッド

定義元: yii\base\Component::hasProperty()

このコンポーネントにプロパティが定義されているかどうかを示す値を返します。

プロパティは以下の場合に定義されます

  • クラスに、指定された名前に関連付けられたゲッターまたはセッターメソッドがある場合(この場合、プロパティ名は大文字と小文字を区別しません)。
  • クラスに指定された名前のメンバ変数がある場合 ($checkVars が true の場合)。
  • アタッチされたビヘイビアに、指定された名前のプロパティがある場合($checkBehaviorsがtrueの場合)。

以下も参照してください

public boolean hasProperty ( $name, $checkVars true, $checkBehaviors true )
$name string

プロパティ名

$checkVars boolean

メンバ変数をプロパティとして扱うかどうか

$checkBehaviors boolean

ビヘイビアのプロパティをこのコンポーネントのプロパティとして扱うかどうか

return boolean

プロパティが定義されているかどうか

                public function hasProperty($name, $checkVars = true, $checkBehaviors = true)
{
    return $this->canGetProperty($name, $checkVars, $checkBehaviors) || $this->canSetProperty($name, false, $checkBehaviors);
}

            
init() public メソッド

定義元: yii\widgets\BaseListView::init()

ビューを初期化します。

public void init ( )

                public function init()
{
    parent::init();
    if ($this->dataProvider === null) {
        throw new InvalidConfigException('The "dataProvider" property must be set.');
    }
    if ($this->emptyText === null) {
        $this->emptyText = Yii::t('yii', 'No results found.');
    }
    if (!isset($this->options['id'])) {
        $this->options['id'] = $this->getId();
    }
}

            
off() public メソッド

定義元: yii\base\Component::off()

このコンポーネントから既存のイベントハンドラーをデタッチします。

このメソッドはon()の反対です。

注意:イベント名にワイルドカードパターンが渡された場合、このワイルドカードで登録されたハンドラーのみが削除され、このワイルドカードに一致するプレーンな名前で登録されたハンドラーは残ります。

on()も参照してください。

public boolean off ( $name, $handler null )
$name string

イベント名

$handler callable|null

削除するイベントハンドラー。nullの場合、名前付きイベントにアタッチされたすべてのハンドラーが削除されます。

return boolean

ハンドラーが見つかり、デタッチされた場合

                public function off($name, $handler = null)
{
    $this->ensureBehaviors();
    if (empty($this->_events[$name]) && empty($this->_eventWildcards[$name])) {
        return false;
    }
    if ($handler === null) {
        unset($this->_events[$name], $this->_eventWildcards[$name]);
        return true;
    }
    $removed = false;
    // plain event names
    if (isset($this->_events[$name])) {
        foreach ($this->_events[$name] as $i => $event) {
            if ($event[0] === $handler) {
                unset($this->_events[$name][$i]);
                $removed = true;
            }
        }
        if ($removed) {
            $this->_events[$name] = array_values($this->_events[$name]);
            return true;
        }
    }
    // wildcard event names
    if (isset($this->_eventWildcards[$name])) {
        foreach ($this->_eventWildcards[$name] as $i => $event) {
            if ($event[0] === $handler) {
                unset($this->_eventWildcards[$name][$i]);
                $removed = true;
            }
        }
        if ($removed) {
            $this->_eventWildcards[$name] = array_values($this->_eventWildcards[$name]);
            // remove empty wildcards to save future redundant regex checks:
            if (empty($this->_eventWildcards[$name])) {
                unset($this->_eventWildcards[$name]);
            }
        }
    }
    return $removed;
}

            
on() public メソッド

定義元: yii\base\Component::on()

イベントにイベントハンドラーをアタッチします。

イベントハンドラは、有効なPHPコールバックである必要があります。以下にいくつかの例を示します。

function ($event) { ... }         // anonymous function
[$object, 'handleClick']          // $object->handleClick()
['Page', 'handleClick']           // Page::handleClick()
'handleClick'                     // global function handleClick()

イベントハンドラは、次のシグネチャで定義する必要があります。

function ($event)

ここで $event は、イベントに関連付けられたパラメータを含む yii\base\Event オブジェクトです。

2.0.14以降、イベント名をワイルドカードパターンとして指定できます。

$component->on('event.group.*', function ($event) {
    Yii::trace($event->name . ' is triggered.');
});

off() も参照してください。

public void on ( $name, $handler, $data null, $append true )
$name string

イベント名

$handler コールバック

イベントハンドラ

$data mixed

イベントがトリガーされたときにイベントハンドラに渡されるデータ。イベントハンドラが呼び出されたとき、このデータは yii\base\Event::$data を介してアクセスできます。

$append boolean

新しいイベントハンドラを既存のハンドラリストの末尾に追加するかどうか。falseの場合、新しいハンドラは既存のハンドラリストの先頭に挿入されます。

                public function on($name, $handler, $data = null, $append = true)
{
    $this->ensureBehaviors();
    if (strpos($name, '*') !== false) {
        if ($append || empty($this->_eventWildcards[$name])) {
            $this->_eventWildcards[$name][] = [$handler, $data];
        } else {
            array_unshift($this->_eventWildcards[$name], [$handler, $data]);
        }
        return;
    }
    if ($append || empty($this->_events[$name])) {
        $this->_events[$name][] = [$handler, $data];
    } else {
        array_unshift($this->_events[$name], [$handler, $data]);
    }
}

            
render() public メソッド

定義元: yii\base\Widget::render()

ビューをレンダリングします。

レンダリングするビューは、次のいずれかの形式で指定できます。

  • パスエイリアス (例: "@app/views/site/index")
  • アプリケーション内の絶対パス (例: "//site/index"): ビュー名は二重スラッシュで始まります。実際のビューファイルは、アプリケーションの ビューパス の下で検索されます。
  • モジュール内の絶対パス (例: "/site/index"): ビュー名は単一のスラッシュで始まります。実際のビューファイルは、現在アクティブなモジュールの ビューパス の下で検索されます。
  • 相対パス (例: "index"): 実際のビューファイルは、$viewPath の下で検索されます。

ビュー名にファイル拡張子が含まれていない場合は、デフォルトの .php が使用されます。

public string render ( $view, $params = [] )
$view string

ビュー名。

$params array

ビューで利用可能にする必要があるパラメータ (名前と値のペア)。

return string

レンダリング結果。

throws yii\base\InvalidArgumentException

ビューファイルが存在しない場合。

                public function render($view, $params = [])
{
    return $this->getView()->render($view, $params, $this);
}

            
renderAfterItem() protected メソッド (バージョン2.0.11から利用可能)

$afterItem クロージャを呼び出し、実行結果を返します。

$afterItem がクロージャでない場合は、null が返されます。

$afterItem も参照してください。

protected string|null renderAfterItem ( $model, $key, $index )
$model mixed

レンダリングするデータモデル

$key mixed

データモデルに関連付けられたキー値

$index 整数

$dataProvider によって返されるモデル配列内のデータモデルのゼロベースのインデックス。

return string|null

$afterItem の呼び出し結果、または $afterItem がクロージャでない場合は null

                protected function renderAfterItem($model, $key, $index)
{
    if ($this->afterItem instanceof Closure) {
        return call_user_func($this->afterItem, $model, $key, $index, $this);
    }
    return null;
}

            
renderBeforeItem() protected メソッド (バージョン2.0.11から利用可能)

$beforeItem クロージャを呼び出し、実行結果を返します。

$beforeItem がクロージャでない場合は、null が返されます。

$beforeItem も参照してください。

protected string|null renderBeforeItem ( $model, $key, $index )
$model mixed

レンダリングするデータモデル

$key mixed

データモデルに関連付けられたキー値

$index 整数

$dataProvider によって返されるモデル配列内のデータモデルのゼロベースのインデックス。

return string|null

$beforeItem の呼び出し結果、または $beforeItem がクロージャでない場合は null

                protected function renderBeforeItem($model, $key, $index)
{
    if ($this->beforeItem instanceof Closure) {
        return call_user_func($this->beforeItem, $model, $key, $index, $this);
    }
    return null;
}

            
renderEmpty() public メソッド

定義元: yii\widgets\BaseListView::renderEmpty()

リストビューにデータがないことを示す HTML コンテンツをレンダリングします。

$emptyText も参照してください。

public string renderEmpty ( )
return string

レンダリング結果

                public function renderEmpty()
{
    if ($this->emptyText === false) {
        return '';
    }
    $options = $this->emptyTextOptions;
    $tag = ArrayHelper::remove($options, 'tag', 'div');
    return Html::tag($tag, $this->emptyText, $options);
}

            
renderFile() public メソッド

定義元: yii\base\Widget::renderFile()

ビューファイルをレンダリングします。

public string renderFile ( $file, $params = [] )
$file string

レンダリングするビューファイル。これは、ファイルパスまたはパスエイリアスのいずれかです。

$params array

ビューで利用可能にする必要があるパラメータ (名前と値のペア)。

return string

レンダリング結果。

throws yii\base\InvalidArgumentException

ビューファイルが存在しない場合。

                public function renderFile($file, $params = [])
{
    return $this->getView()->renderFile($file, $params, $this);
}

            
renderItem() public メソッド

単一のデータモデルをレンダリングします。

public string renderItem ( $model, $key, $index )
$model mixed

レンダリングするデータモデル

$key mixed

データモデルに関連付けられたキー値

$index 整数

$dataProvider によって返されるモデル配列内のデータモデルのゼロベースのインデックス。

return string

レンダリング結果

                public function renderItem($model, $key, $index)
{
    if ($this->itemView === null) {
        $content = $key;
    } elseif (is_string($this->itemView)) {
        $content = $this->getView()->render($this->itemView, array_merge([
            'model' => $model,
            'key' => $key,
            'index' => $index,
            'widget' => $this,
        ], $this->viewParams));
    } else {
        $content = call_user_func($this->itemView, $model, $key, $index, $this);
    }
    if ($this->itemOptions instanceof Closure) {
        $options = call_user_func($this->itemOptions, $model, $key, $index, $this);
    } else {
        $options = $this->itemOptions;
    }
    $tag = ArrayHelper::remove($options, 'tag', 'div');
    $options['data-key'] = is_array($key) ? json_encode($key, JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE) : (string) $key;
    return Html::tag($tag, $content, $options);
}

            
renderItems() public メソッド

すべてのデータモデルをレンダリングします。

public string renderItems ( )
return string

レンダリング結果

                public function renderItems()
{
    $models = $this->dataProvider->getModels();
    $keys = $this->dataProvider->getKeys();
    $rows = [];
    foreach (array_values($models) as $index => $model) {
        $key = $keys[$index];
        if (($before = $this->renderBeforeItem($model, $key, $index)) !== null) {
            $rows[] = $before;
        }
        $rows[] = $this->renderItem($model, $key, $index);
        if (($after = $this->renderAfterItem($model, $key, $index)) !== null) {
            $rows[] = $after;
        }
    }
    return implode($this->separator, $rows);
}

            
renderPager() public メソッド

定義元: yii\widgets\BaseListView::renderPager()

ページャーをレンダリングします。

public string renderPager ( )
return string

レンダリング結果

                public function renderPager()
{
    $pagination = $this->dataProvider->getPagination();
    if ($pagination === false || $this->dataProvider->getCount() <= 0) {
        return '';
    }
    /* @var $class LinkPager */
    $pager = $this->pager;
    $class = ArrayHelper::remove($pager, 'class', LinkPager::className());
    $pager['pagination'] = $pagination;
    $pager['view'] = $this->getView();
    return $class::widget($pager);
}

            
renderSection() public メソッド

定義元: yii\widgets\BaseListView::renderSection()

指定された名前のセクションをレンダリングします。

指定されたセクションがサポートされていない場合は、falseが返されます。

public string|boolean renderSection ( $name )
$name string

セクション名。例:{summary}{items}

return string|boolean

セクションのレンダリング結果。指定されたセクションがサポートされていない場合はfalse。

                public function renderSection($name)
{
    switch ($name) {
        case '{summary}':
            return $this->renderSummary();
        case '{items}':
            return $this->renderItems();
        case '{pager}':
            return $this->renderPager();
        case '{sorter}':
            return $this->renderSorter();
        default:
            return false;
    }
}

            
renderSorter() public メソッド

定義元: yii\widgets\BaseListView::renderSorter()

ソーターをレンダリングします。

public string renderSorter ( )
return string

レンダリング結果

                public function renderSorter()
{
    $sort = $this->dataProvider->getSort();
    if ($sort === false || empty($sort->attributes) || $this->dataProvider->getCount() <= 0) {
        return '';
    }
    /* @var $class LinkSorter */
    $sorter = $this->sorter;
    $class = ArrayHelper::remove($sorter, 'class', LinkSorter::className());
    $sorter['sort'] = $sort;
    $sorter['view'] = $this->getView();
    return $class::widget($sorter);
}

            
renderSummary() public メソッド

定義元: yii\widgets\BaseListView::renderSummary()

概要テキストをレンダリングします。

public void renderSummary ( )

                public function renderSummary()
{
    $count = $this->dataProvider->getCount();
    if ($count <= 0) {
        return '';
    }
    $summaryOptions = $this->summaryOptions;
    $tag = ArrayHelper::remove($summaryOptions, 'tag', 'div');
    if (($pagination = $this->dataProvider->getPagination()) !== false) {
        $totalCount = $this->dataProvider->getTotalCount();
        $begin = $pagination->getPage() * $pagination->pageSize + 1;
        $end = $begin + $count - 1;
        if ($begin > $end) {
            $begin = $end;
        }
        $page = $pagination->getPage() + 1;
        $pageCount = $pagination->pageCount;
        if (($summaryContent = $this->summary) === null) {
            return Html::tag($tag, Yii::t('yii', 'Showing <b>{begin, number}-{end, number}</b> of <b>{totalCount, number}</b> {totalCount, plural, one{item} other{items}}.', [
                    'begin' => $begin,
                    'end' => $end,
                    'count' => $count,
                    'totalCount' => $totalCount,
                    'page' => $page,
                    'pageCount' => $pageCount,
                ]), $summaryOptions);
        }
    } else {
        $begin = $page = $pageCount = 1;
        $end = $totalCount = $count;
        if (($summaryContent = $this->summary) === null) {
            return Html::tag($tag, Yii::t('yii', 'Total <b>{count, number}</b> {count, plural, one{item} other{items}}.', [
                'begin' => $begin,
                'end' => $end,
                'count' => $count,
                'totalCount' => $totalCount,
                'page' => $page,
                'pageCount' => $pageCount,
            ]), $summaryOptions);
        }
    }
    if ($summaryContent === '') {
        return '';
    }
    return Html::tag($tag, Yii::$app->getI18n()->format($summaryContent, [
        'begin' => $begin,
        'end' => $end,
        'count' => $count,
        'totalCount' => $totalCount,
        'page' => $page,
        'pageCount' => $pageCount,
    ], Yii::$app->language), $summaryOptions);
}

            
run() public メソッド

定義元: yii\widgets\BaseListView::run()

ウィジェットを実行します。

public void run ( )

                public function run()
{
    if ($this->showOnEmpty || $this->dataProvider->getCount() > 0) {
        $content = preg_replace_callback('/{\\w+}/', function ($matches) {
            $content = $this->renderSection($matches[0]);
            return $content === false ? $matches[0] : $content;
        }, $this->layout);
    } else {
        $content = $this->renderEmpty();
    }
    $options = $this->options;
    $tag = ArrayHelper::remove($options, 'tag', 'div');
    echo Html::tag($tag, $content, $options);
}

            
setId() public メソッド

定義元: yii\base\Widget::setId()

ウィジェットのIDを設定します。

public void setId ( $value )
$value string

ウィジェットのID。

                public function setId($value)
{
    $this->_id = $value;
}

            
setView() public メソッド

定義元: yii\base\Widget::setView()

このウィジェットで使用するビューオブジェクトを設定します。

public void setView ( $view )
$view yii\base\View

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

                public function setView($view)
{
    $this->_view = $view;
}

            
trigger() public メソッド

定義元: yii\base\Component::trigger()

イベントをトリガーします。

このメソッドは、イベントの発生を表します。クラスレベルのハンドラを含む、イベントにアタッチされたすべてのハンドラを呼び出します。

public void trigger ( $name, yii\base\Event $event null )
$name string

イベント名

$event yii\base\Event|null

イベントインスタンス。設定されていない場合、デフォルトのyii\base\Eventオブジェクトが作成されます。

                public function trigger($name, Event $event = null)
{
    $this->ensureBehaviors();
    $eventHandlers = [];
    foreach ($this->_eventWildcards as $wildcard => $handlers) {
        if (StringHelper::matchWildcard($wildcard, $name)) {
            $eventHandlers[] = $handlers;
        }
    }
    if (!empty($this->_events[$name])) {
        $eventHandlers[] = $this->_events[$name];
    }
    if (!empty($eventHandlers)) {
        $eventHandlers = call_user_func_array('array_merge', $eventHandlers);
        if ($event === null) {
            $event = new Event();
        }
        if ($event->sender === null) {
            $event->sender = $this;
        }
        $event->handled = false;
        $event->name = $name;
        foreach ($eventHandlers as $handler) {
            $event->data = $handler[1];
            call_user_func($handler[0], $event);
            // stop further handling if the event is handled
            if ($event->handled) {
                return;
            }
        }
    }
    // invoke class-level attached handlers
    Event::trigger($this, $name, $event);
}

            
widget() public static メソッド

定義元: yii\base\Widget::widget()

ウィジェットのインスタンスを作成して実行します。

このメソッドは、ウィジェットのレンダリング結果を返します。

public static string widget ( $config = [] )
$config array

オブジェクトのプロパティを初期化するために使用される名前と値のペア

return string

ウィジェットのレンダリング結果。

throws Throwable

                public static function widget($config = [])
{
    ob_start();
    ob_implicit_flush(false);
    try {
        /* @var $widget Widget */
        $config['class'] = get_called_class();
        $widget = Yii::createObject($config);
        $out = '';
        if ($widget->beforeRun()) {
            $result = $widget->run();
            $out = $widget->afterRun($result);
        }
    } catch (\Exception $e) {
        // close the output buffer opened above if it has not been closed already
        if (ob_get_level() > 0) {
            ob_end_clean();
        }
        throw $e;
    } catch (\Throwable $e) {
        // close the output buffer opened above if it has not been closed already
        if (ob_get_level() > 0) {
            ob_end_clean();
        }
        throw $e;
    }
    return ob_get_clean() . $out;
}