1 フォロワー

クラス yii\widgets\LinkPager

継承yii\widgets\LinkPager » 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/LinkPager.php

LinkPager は、ターゲットの異なるページにつながるハイパーリンクのリストを表示します。

LinkPager は、総ページ数と現在のページ番号を指定する yii\data\Pagination オブジェクトと連携します。

LinkPager は必要な HTML マークアップのみを生成することに注意してください。実際のページャのように見せるためには、いくつかの CSS スタイルを提供する必要があります。デフォルトの設定では、LinkPager は Twitter Bootstrap CSS フレームワークを使用すると適切に見えるはずです。

LinkPager の詳細および使用方法については、ページネーションに関するガイド記事を参照してください。

パブリックプロパティ

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

プロパティ タイプ 説明 定義元
$activePageCssClass string アクティブ(現在選択されている)ページボタンの CSS クラス。 yii\widgets\LinkPager
$autoIdPrefix string 自動生成されたウィジェット ID のプレフィックス。 yii\base\Widget
$behaviors yii\base\Behavior[] このコンポーネントにアタッチされたビヘイビアのリスト。 yii\base\Component
$disableCurrentPageButton boolean 現在のページボタンを無効としてレンダリングするかどうか。 yii\widgets\LinkPager
$disabledListItemSubTagOptions array 無効なリスト要素内に生成される無効なタグのオプション。 yii\widgets\LinkPager
$disabledPageCssClass string 無効なページボタンの CSS クラス。 yii\widgets\LinkPager
$firstPageCssClass string 「最初の」ページボタンの CSS クラス。 yii\widgets\LinkPager
$firstPageLabel string|boolean 「最初の」ページボタンのテキストラベル。 yii\widgets\LinkPager
$hideOnSinglePage boolean ページが 1 つしかない場合にウィジェットを非表示にするかどうか。 yii\widgets\LinkPager
$id string|null ウィジェットの ID。 yii\base\Widget
$lastPageCssClass string 「最後の」ページボタンの CSS クラス。 yii\widgets\LinkPager
$lastPageLabel string|boolean 「最後の」ページボタンのテキストラベル。 yii\widgets\LinkPager
$linkContainerOptions array すべてのリンクコンテナに適用される HTML 属性 yii\widgets\LinkPager
$linkOptions array ページャコンテナタグ内のリンクの HTML 属性。 yii\widgets\LinkPager
$maxButtonCount integer 表示できるページボタンの最大数。 yii\widgets\LinkPager
$nextPageCssClass string 「次の」ページボタンの CSS クラス。 yii\widgets\LinkPager
$nextPageLabel string|boolean 「次の」ページボタンのラベル。 yii\widgets\LinkPager
$options array ページャコンテナタグの HTML 属性。 yii\widgets\LinkPager
$pageCssClass string 各ページボタンの CSS クラス。 yii\widgets\LinkPager
$pagination yii\data\Pagination このページャが関連付けられているページネーションオブジェクト。 yii\widgets\LinkPager
$prevPageCssClass string 「前の」ページボタンの CSS クラス。 yii\widgets\LinkPager
$prevPageLabel string|boolean 「前の」ページボタンのテキストラベル。 yii\widgets\LinkPager
$registerLinkTags boolean 前のページ、次のページ、最初のページ、および最後のページのリンクタグを HTML ヘッダーに登録するかどうか。 yii\widgets\LinkPager
$view yii\web\View ビューやビューファイルのレンダリングに使用できるビューオブジェクト。 yii\base\Widget
$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\LinkPager
off() このコンポーネントから既存のイベントハンドラーをデタッチします。 yii\base\Component
on() イベントにイベントハンドラーをアタッチします。 yii\base\Component
render() ビューをレンダリングします。 yii\base\Widget
renderFile() ビューファイルをレンダリングします。 yii\base\Widget
run() ウィジェットを実行します。 yii\widgets\LinkPager
setId() ウィジェットのIDを設定します。 yii\base\Widget
setView() このウィジェットで使用するビューオブジェクトを設定します。 yii\base\Widget
trigger() イベントを発生させます。 yii\base\Component
widget() ウィジェットのインスタンスを作成し、実行します。 yii\base\Widget

保護されたメソッド

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

メソッド 説明 定義元
getPageRange() yii\widgets\LinkPager
registerLinkTags() 前のページ、次のページ、最初のページ、最後のページの関連リンクタグをHTMLヘッダーに登録します。 yii\widgets\LinkPager
renderPageButton() ページボタンをレンダリングします。 yii\widgets\LinkPager
renderPageButtons() ページボタンをレンダリングします。 yii\widgets\LinkPager

イベント

継承されたイベントを隠す

イベント タイプ 説明 定義元
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

プロパティの詳細

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

$activePageCssClass public プロパティ

アクティブ(現在選択されている)ページボタンの CSS クラス。

public string $activePageCssClass 'active'
$disableCurrentPageButton public プロパティ (バージョン2.0.12以降で使用可能)

現在のページボタンを無効としてレンダリングするかどうか。

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

無効なリスト要素内に生成される無効なタグのオプション。htmlタグをカスタマイズするには、tagキーを使用してください。

$disabledListItemSubTagOptions = ['tag' => 'div', 'class' => 'disabled-div'];
$disabledPageCssClass public プロパティ

無効なページボタンの CSS クラス。

public string $disabledPageCssClass 'disabled'
$firstPageCssClass public プロパティ

「最初の」ページボタンの CSS クラス。

public string $firstPageCssClass 'first'
$firstPageLabel public プロパティ

「最初」ページボタンのテキストラベル。これはHTMLエンコードされないことに注意してください。trueと指定した場合、ページ番号がラベルとして使用されます。デフォルトはfalseで、「最初」ページボタンは表示されないことを意味します。

$hideOnSinglePage public プロパティ

ページが 1 つしかない場合にウィジェットを非表示にするかどうか。

public boolean $hideOnSinglePage true
$lastPageCssClass public プロパティ

「最後の」ページボタンの CSS クラス。

public string $lastPageCssClass 'last'
$lastPageLabel public プロパティ

「最後」ページボタンのテキストラベル。これはHTMLエンコードされないことに注意してください。trueと指定した場合、ページ番号がラベルとして使用されます。デフォルトはfalseで、「最後」ページボタンは表示されないことを意味します。

public string|boolean $lastPageLabel false
$linkContainerOptions public プロパティ (バージョン2.0.13以降で使用可能)

すべてのリンクコンテナに適用される HTML 属性

$linkOptions public プロパティ

ページャコンテナタグ内のリンクの HTML 属性。

属性のレンダリング方法の詳細については、yii\helpers\Html::renderTagAttributes() も参照してください。

public array $linkOptions = []
$maxButtonCount public プロパティ

表示可能なページボタンの最大数。デフォルトは10です。

$nextPageCssClass public プロパティ

「次の」ページボタンの CSS クラス。

public string $nextPageCssClass 'next'
$nextPageLabel public プロパティ

"次へ"ページボタンのラベル。これはHTMLエンコードされないことに注意してください。このプロパティがfalseの場合、「次へ」ページボタンは表示されません。

public string|boolean $nextPageLabel '»'
$options public プロパティ

ページャコンテナタグの HTML 属性。

属性のレンダリング方法の詳細については、yii\helpers\Html::renderTagAttributes() も参照してください。

public array $options = [
    
'class' => 'pagination',
]
$pageCssClass public プロパティ (バージョン 2.0.7 から利用可能)

各ページボタンの CSS クラス。

public string $pageCssClass null
$pagination public プロパティ

このページャーが関連付けられているページネーションオブジェクト。LinkPagerを機能させるには、このプロパティを設定する必要があります。

$prevPageCssClass public プロパティ

「前の」ページボタンの CSS クラス。

public string $prevPageCssClass 'prev'
$prevPageLabel public プロパティ

"前へ"ページボタンのテキストラベル。これはHTMLエンコードされないことに注意してください。このプロパティがfalseの場合、「前へ」ページボタンは表示されません。

public string|boolean $prevPageLabel '«'
$registerLinkTags public プロパティ

前のページ、次のページ、最初のページ、最後のページのリンクタグをHTMLヘッダーに登録するかどうか。1つのページで複数のページャーを使用する場合の競合を避けるため、デフォルトはfalseです。

以下も参照してください。

public boolean $registerLinkTags false

メソッド詳細

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

__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() パブリックメソッド

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

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

このメソッドは、以下の順序でチェックし、それに応じて動作します。

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

$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() パブリックメソッド

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

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

このメソッドは、以下の順序でチェックし、それに応じて動作します。

  • セッターによって定義されたプロパティ: プロパティが設定されているかどうかを返します
  • ビヘイビアのプロパティ: プロパティが設定されているかどうかを返します
  • 存在しないプロパティに対しては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() パブリックメソッド

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

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

このメソッドは、以下の順序でチェックし、それに応じて動作します。

  • セッターによって定義されたプロパティ: プロパティ値を設定します
  • "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() パブリックメソッド

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

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

このメソッドは、以下の順序でチェックし、それに応じて動作します。

  • セッターによって定義されたプロパティ: プロパティ値を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() パブリックメソッド (バージョン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() パブリックメソッド

定義元: 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() パブリックメソッド

定義元: 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() パブリックメソッド (バージョン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() パブリックスタティックメソッド

定義元: 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()

プロパティが読み取り可能かどうかを示す値を返します。

プロパティが読み取り可能となるのは、次の場合です。

  • クラスが指定された名前に関連付けられたゲッターメソッドを持っている場合 (この場合、プロパティ名は大文字小文字を区別しません)。
  • クラスが指定された名前のメンバー変数を持っている場合 ($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()

プロパティが設定可能かどうかを示す値を返します。

プロパティが書き込み可能となるのは、次の場合です。

  • クラスが指定された名前に関連付けられたセッターメソッドを持っている場合 (この場合、プロパティ名は大文字小文字を区別しません)。
  • クラスが指定された名前のメンバー変数を持っている場合 ($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;
}

            
getPageRange() protected メソッド

protected array getPageRange ( )
return array

表示する必要のある開始ページと終了ページ。

                protected function getPageRange()
{
    $currentPage = $this->pagination->getPage();
    $pageCount = $this->pagination->getPageCount();
    $beginPage = max(0, $currentPage - (int) ($this->maxButtonCount / 2));
    if (($endPage = $beginPage + $this->maxButtonCount - 1) >= $pageCount) {
        $endPage = $pageCount - 1;
        $beginPage = max(0, $endPage - $this->maxButtonCount + 1);
    }
    return [$beginPage, $endPage];
}

            
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 メソッド

ページャーを初期化します。

public void init ( )

                public function init()
{
    parent::init();
    if ($this->pagination === null) {
        throw new InvalidConfigException('The "pagination" property must be set.');
    }
}

            
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 callable

イベントハンドラ

$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]);
    }
}

            
registerLinkTags() protected メソッド

前のページ、次のページ、最初のページ、最後のページの関連リンクタグをHTMLヘッダーに登録します。

これらのリンクは yii\data\Pagination::getLinks() を使って生成されます。

参考: https://www.w3.org/TR/html401/struct/links.html#h-12.1.2

protected void registerLinkTags ( )

                protected function registerLinkTags()
{
    $view = $this->getView();
    foreach ($this->pagination->getLinks() as $rel => $href) {
        $view->registerLinkTag(['rel' => $rel, 'href' => $href], $rel);
    }
}

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

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

            
renderPageButton() protected メソッド

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

ページボタンの生成をカスタマイズするために、このメソッドをオーバーライドできます。

protected string renderPageButton ( $label, $page, $class, $disabled, $active )
$label string

ボタンのテキストラベル

$page integer

ページ番号

$class string

ページボタンのCSSクラス。

$disabled boolean

このページボタンが無効かどうか

$active boolean

このページボタンがアクティブかどうか

return string

レンダリング結果

                protected function renderPageButton($label, $page, $class, $disabled, $active)
{
    $options = $this->linkContainerOptions;
    $linkWrapTag = ArrayHelper::remove($options, 'tag', 'li');
    Html::addCssClass($options, empty($class) ? $this->pageCssClass : $class);
    if ($active) {
        Html::addCssClass($options, $this->activePageCssClass);
    }
    if ($disabled) {
        Html::addCssClass($options, $this->disabledPageCssClass);
        $disabledItemOptions = $this->disabledListItemSubTagOptions;
        $tag = ArrayHelper::remove($disabledItemOptions, 'tag', 'span');
        return Html::tag($linkWrapTag, Html::tag($tag, $label, $disabledItemOptions), $options);
    }
    $linkOptions = $this->linkOptions;
    $linkOptions['data-page'] = $page;
    return Html::tag($linkWrapTag, Html::a($label, $this->pagination->createUrl($page), $linkOptions), $options);
}

            
renderPageButtons() protected メソッド

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

protected string renderPageButtons ( )
return string

レンダリング結果

                protected function renderPageButtons()
{
    $pageCount = $this->pagination->getPageCount();
    if ($pageCount < 2 && $this->hideOnSinglePage) {
        return '';
    }
    $buttons = [];
    $currentPage = $this->pagination->getPage();
    // first page
    $firstPageLabel = $this->firstPageLabel === true ? '1' : $this->firstPageLabel;
    if ($firstPageLabel !== false) {
        $buttons[] = $this->renderPageButton($firstPageLabel, 0, $this->firstPageCssClass, $currentPage <= 0, false);
    }
    // prev page
    if ($this->prevPageLabel !== false) {
        if (($page = $currentPage - 1) < 0) {
            $page = 0;
        }
        $buttons[] = $this->renderPageButton($this->prevPageLabel, $page, $this->prevPageCssClass, $currentPage <= 0, false);
    }
    // internal pages
    list($beginPage, $endPage) = $this->getPageRange();
    for ($i = $beginPage; $i <= $endPage; ++$i) {
        $buttons[] = $this->renderPageButton($i + 1, $i, null, $this->disableCurrentPageButton && $i == $currentPage, $i == $currentPage);
    }
    // next page
    if ($this->nextPageLabel !== false) {
        if (($page = $currentPage + 1) >= $pageCount - 1) {
            $page = $pageCount - 1;
        }
        $buttons[] = $this->renderPageButton($this->nextPageLabel, $page, $this->nextPageCssClass, $currentPage >= $pageCount - 1, false);
    }
    // last page
    $lastPageLabel = $this->lastPageLabel === true ? $pageCount : $this->lastPageLabel;
    if ($lastPageLabel !== false) {
        $buttons[] = $this->renderPageButton($lastPageLabel, $pageCount - 1, $this->lastPageCssClass, $currentPage >= $pageCount - 1, false);
    }
    $options = $this->options;
    $tag = ArrayHelper::remove($options, 'tag', 'ul');
    return Html::tag($tag, implode("\n", $buttons), $options);
}

            
run() public メソッド

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

これは、生成されたページボタンを表示することによって、親の実装をオーバーライドします。

public void run ( )

                public function run()
{
    if ($this->registerLinkTags) {
        $this->registerLinkTags();
    }
    echo $this->renderPageButtons();
}

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