0 フォロワー

抽象クラス yii\base\Request

継承yii\base\Request » yii\base\Component » yii\base\BaseObject
実装yii\base\Configurable
サブクラスyii\console\Request, yii\web\Request
利用可能バージョン2.0
ソースコード https://github.com/yiisoft/yii2/blob/master/framework/base/Request.php

Request は yii\base\Application によって処理されるリクエストを表します。

Request の詳細および使用方法については、リクエストに関するガイド記事を参照してください。

公開プロパティ

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

プロパティ 説明 定義元
$behaviors yii\base\Behavior[] このコンポーネントにアタッチされたビヘイビアのリスト。 yii\base\Component
$isConsoleRequest boolean 現在のリクエストがコンソール経由で行われたかどうかを示す値。 yii\base\Request
$scriptFile string エントリスクリプトファイルのパス (realpath() で処理)。 yii\base\Request

公開メソッド

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

メソッド 説明 定義元
__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
attachBehavior() このコンポーネントにビヘイビアをアタッチします。 yii\base\Component
attachBehaviors() コンポーネントにビヘイビアのリストをアタッチします。 yii\base\Component
behaviors() このコンポーネントがビヘイビアとして振る舞うべきビヘイビアのリストを返します。 yii\base\Component
canGetProperty() プロパティが読み取り可能かどうかを示す値を返します。 yii\base\Component
canSetProperty() プロパティが設定可能かどうかを示す値を返します。 yii\base\Component
className() このクラスの完全修飾名を返します。 yii\base\BaseObject
detachBehavior() コンポーネントからビヘイビアをデタッチします。 yii\base\Component
detachBehaviors() コンポーネントからすべてのビヘイビアをデタッチします。 yii\base\Component
ensureBehaviors() behaviors() で宣言されたビヘイビアがこのコンポーネントにアタッチされていることを確認します。 yii\base\Component
getBehavior() 名前付きのビヘイビアオブジェクトを返します。 yii\base\Component
getBehaviors() このコンポーネントにアタッチされたすべてのビヘイビアを返します。 yii\base\Component
getIsConsoleRequest() 現在のリクエストがコマンドライン経由で行われたかどうかを示す値を返します。 yii\base\Request
getScriptFile() エントリスクリプトファイルのパスを返します。 yii\base\Request
hasEventHandlers() 名前付きのイベントにアタッチされたハンドラがあるかどうかを示す値を返します。 yii\base\Component
hasMethod() メソッドが定義されているかどうかを示す値を返します。 yii\base\Component
hasProperty() プロパティがこのコンポーネントに定義されているかどうかを示す値を返します。 yii\base\Component
init() オブジェクトを初期化します。 yii\base\BaseObject
off() 既存のイベントハンドラをこのコンポーネントからデタッチします。 yii\base\Component
on() イベントハンドラをイベントにアタッチします。 yii\base\Component
resolve() 現在のリクエストをルートと関連するパラメータに解決します。 yii\base\Request
setIsConsoleRequest() 現在のリクエストがコマンドライン経由で行われたかどうかを示す値を設定します。 yii\base\Request
setScriptFile() エントリスクリプトファイルのパスを設定します。 yii\base\Request
trigger() イベントをトリガーします。 yii\base\Component

プロパティの詳細

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

$isConsoleRequest public プロパティ

現在のリクエストがコンソール経由で行われたかどうかを示す値。

public boolean $isConsoleRequest null
$scriptFile public プロパティ

エントリスクリプトファイルのパス (realpath() で処理)。

public string $scriptFile null

メソッド詳細

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

__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()

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

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

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

このメソッドは、$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 でないか) を確認します。

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

  • セッターで定義されたプロパティ: プロパティが設定されているかどうかを返します
  • ビヘイビアのプロパティ: プロパティが設定されているかどうかを返します
  • 存在しないプロパティの場合は 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()

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

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

  • セッターで定義されたプロパティ: プロパティ値を設定します
  • "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 に設定します。

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

  • セッターで定義されたプロパティ: プロパティ値を 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);
}

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

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

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

            
getIsConsoleRequest() public メソッド

現在のリクエストがコマンドライン経由で行われたかどうかを示す値を返します。

public boolean getIsConsoleRequest ( )
return boolean

現在のリクエストがコンソール経由で行われたかどうかを示す値

                public function getIsConsoleRequest()
{
    return $this->_isConsoleRequest !== null ? $this->_isConsoleRequest : PHP_SAPI === 'cli';
}

            
getScriptFile() public メソッド

エントリスクリプトファイルのパスを返します。

public string getScriptFile ( )
return string

エントリスクリプトファイルパス(realpath()で処理済み)

throws yii\base\InvalidConfigException

エントリスクリプトファイルパスを自動的に決定できない場合。

                public function getScriptFile()
{
    if ($this->_scriptFile === null) {
        if (isset($_SERVER['SCRIPT_FILENAME'])) {
            $this->setScriptFile($_SERVER['SCRIPT_FILENAME']);
        } else {
            throw new InvalidConfigException('Unable to determine the entry script file path.');
        }
    }
    return $this->_scriptFile;
}

            
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\base\BaseObject::init()

オブジェクトを初期化します。

このメソッドは、オブジェクトが与えられた構成で初期化された後、コンストラクタの最後に呼び出されます。

public void init ( )

                public function init()
{
}

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

            
resolve() public abstract メソッド

現在のリクエストをルートと関連するパラメータに解決します。

public abstract array resolve ( )
return array

最初の要素はルート、2番目の要素は関連付けられたパラメーターです。

                abstract public function resolve();

            
setIsConsoleRequest() public メソッド

現在のリクエストがコマンドライン経由で行われたかどうかを示す値を設定します。

public void setIsConsoleRequest ( $value )
$value boolean

現在のリクエストがコマンドライン経由で行われたかどうかを示す値

                public function setIsConsoleRequest($value)
{
    $this->_isConsoleRequest = $value;
}

            
setScriptFile() public メソッド

エントリスクリプトファイルのパスを設定します。

エントリスクリプトファイルパスは、通常、SCRIPT_FILENAME SERVER変数に基づいて決定できます。ただし、一部のサーバー構成では、これが正しくないか、実現可能でない場合があります。このセッターは、エントリスクリプトファイルパスを手動で指定できるようにするために提供されています。

public void setScriptFile ( $value )
$value string

エントリスクリプトファイルパス。これは、ファイルパスまたはパスエイリアスのいずれかです。

throws yii\base\InvalidConfigException

指定されたエントリスクリプトファイルパスが無効な場合。

                public function setScriptFile($value)
{
    $scriptFile = realpath(Yii::getAlias($value));
    if ($scriptFile !== false && is_file($scriptFile)) {
        $this->_scriptFile = $scriptFile;
    } else {
        throw new InvalidConfigException('Unable to determine the entry script file path.');
    }
}

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