0 フォロワー

クラス yii\console\controllers\ServeController

継承yii\console\controllers\ServeController » yii\console\Controller » yii\base\Controller » yii\base\Component » yii\base\BaseObject
実装yii\base\Configurable, yii\base\ViewContextInterface
利用可能バージョン2.0.7
ソースコード https://github.com/yiisoft/yii2/blob/master/framework/console/controllers/ServeController.php

PHP組み込みのWebサーバーを実行します。

リモートマシンからサーバーにアクセスするには、0.0.0.0:8000を使用します。これは、仮想マシンでサーバーを実行する場合に特に便利です。

公開プロパティ

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

プロパティ 説明 定義元
$action yii\base\Action|null 現在実行中のアクション。 yii\base\Controller
$behaviors yii\base\Behavior[] このコンポーネントにアタッチされたビヘイビアのリスト。 yii\base\Component
$color boolean|null 出力でANSIカラーを有効にするかどうか。 yii\console\Controller
$defaultAction string リクエストでアクションIDが指定されていない場合に使用されるアクションのID。 yii\base\Controller
$docroot string 提供するディレクトリへのパスまたはパスエイリアス yii\console\controllers\ServeController
$help boolean 現在のコマンドに関するヘルプ情報を表示するかどうか。 yii\console\Controller
$helpSummary string yii\console\Controller
$id string このコントローラのID。 yii\base\Controller
$interactive boolean コマンドをインタラクティブに実行するかどうか。 yii\console\Controller
$layout string|null|false このコントローラのビューに適用するレイアウトの名前。 yii\base\Controller
$module yii\base\Module このコントローラが属するモジュール。 yii\base\Controller
$modules yii\base\Module[] このコントローラが存在するすべての祖先モジュール。 yii\base\Controller
$passedOptionValues array 渡されたオプションに対応するプロパティ。 yii\console\Controller
$passedOptions array 実行中に渡されたオプションの名前。 yii\console\Controller
$port integer 提供するポート。 yii\console\controllers\ServeController
$request yii\base\Request|array|string リクエスト。 yii\base\Controller
$response yii\base\Response|array|string レスポンス。 yii\base\Controller
$route string 現在のリクエストのルート(モジュールID、コントローラID、アクションID)。 yii\base\Controller
$router string ルータースクリプトへのパスまたはパスエイリアス yii\console\controllers\ServeController
$silentExitOnException boolean|null trueの場合、例外が発生した場合、スクリプトはExitCode::OKで終了します。 yii\console\Controller
$uniqueId string モジュールID(存在する場合)がプレフィックスとして付加されたコントローラID。 yii\base\Controller
$view yii\base\View|yii\web\View ビューまたはビューファイルのレンダリングに使用できるビューオブジェクト。 yii\base\Controller
$viewPath string このコントローラのビューファイルを含むディレクトリ。 yii\base\Controller

公開メソッド

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

メソッド 説明 定義元
__call() クラスメソッドではない指定された名前のメソッドを呼び出します。 yii\base\Component
__clone() このメソッドは、オブジェクトが既存のオブジェクトを複製することによって作成された後に呼び出されます。 yii\base\Component
__construct() yii\base\Controller
__get() コンポーネントプロパティの値を返します。 yii\base\Component
__isset() プロパティが設定されている、つまり定義されており、nullではないかどうかを確認します。 yii\base\Component
__set() コンポーネントプロパティの値を設定します。 yii\base\Component
__unset() コンポーネントプロパティをnullに設定します。 yii\base\Component
actionIndex() PHP組み込みのWebサーバーを実行します。 yii\console\controllers\ServeController
actions() コントローラに対して外部アクションを宣言します。 yii\base\Controller
afterAction() このメソッドは、アクションが実行された直後に呼び出されます。 yii\base\Controller
ansiFormat() ANSIコードで文字列をフォーマットします。 yii\console\Controller
attachBehavior() このコンポーネントにビヘイビアをアタッチします。 yii\base\Component
attachBehaviors() コンポーネントにビヘイビアのリストをアタッチします。 yii\base\Component
beforeAction() このメソッドは、アクションが実行される直前に呼び出されます。 yii\console\Controller
behaviors() このコンポーネントが動作する必要があるビヘイビアのリストを返します。 yii\base\Component
bindActionParams() パラメータをアクションにバインドします。 yii\console\Controller
canGetProperty() プロパティが読み取り可能かどうかを示す値を返します。 yii\base\Component
canSetProperty() プロパティが設定可能かどうかを示す値を返します。 yii\base\Component
className() このクラスの完全修飾名を返します。 yii\base\BaseObject
confirm() yまたはnを入力して、ユーザーに確認を求めます。 yii\console\Controller
createAction() 指定されたアクションIDに基づいてアクションを作成します。 yii\base\Controller
detachBehavior() コンポーネントからビヘイビアをデタッチします。 yii\base\Component
detachBehaviors() コンポーネントからすべてのビヘイビアをデタッチします。 yii\base\Component
ensureBehaviors() behaviors()で宣言されたビヘイビアがこのコンポーネントにアタッチされていることを確認します。 yii\base\Component
findLayoutFile() 該当するレイアウトファイルを見つけます。 yii\base\Controller
getActionArgsHelp() アクションの匿名引数に関するヘルプ情報を返します。 yii\console\Controller
getActionHelp() 指定されたアクションの詳細なヘルプ情報を返します。 yii\console\Controller
getActionHelpSummary() 指定されたアクションを説明する1行の短い概要を返します。 yii\console\Controller
getActionOptionsHelp() アクションのオプションに関するヘルプ情報を返します。 yii\console\Controller
getBehavior() 指定された名前のビヘイビアオブジェクトを返します。 yii\base\Component
getBehaviors() このコンポーネントにアタッチされたすべてのビヘイビアを返します。 yii\base\Component
getHelp() このコントローラに関するヘルプ情報を返します。 yii\console\Controller
getHelpSummary() このコントローラを説明する1行の短い概要を返します。 yii\console\Controller
getModules() このコントローラのすべての祖先モジュールを返します。 yii\base\Controller
getOptionValues() アクション ID のオプションに対応するプロパティを返します。子クラスはこのメソッドをオーバーライドして、可能なプロパティを指定できます。 yii\console\Controller
getPassedOptionValues() 渡されたオプションに対応するプロパティを返します。 yii\console\Controller
getPassedOptions() 実行時に渡された有効なオプションの名前を返します。 yii\console\Controller
getRoute() 現在のリクエストのルートを返します。 yii\base\Controller
getUniqueId() コントローラのユニーク ID を返します。 yii\base\Controller
getView() ビューまたはビューファイルのレンダリングに使用できるビューオブジェクトを返します。 yii\base\Controller
getViewPath() このコントローラのビューファイルを含むディレクトリを返します。 yii\base\Controller
hasEventHandlers() 指定されたイベントにハンドラーがアタッチされているかどうかを示す値を返します。 yii\base\Component
hasMethod() メソッドが定義されているかどうかを示す値を返します。 yii\base\Component
hasProperty() このコンポーネントにプロパティが定義されているかどうかを示す値を返します。 yii\base\Component
init() オブジェクトを初期化します。 yii\base\Controller
isColorEnabled() ANSI カラーが有効かどうかを示す値を返します。 yii\console\Controller
off() 既存のイベントハンドラーをこのコンポーネントからデタッチします。 yii\base\Component
on() イベントハンドラーをイベントにアタッチします。 yii\base\Component
optionAliases() オプションのエイリアス名を返します。 yii\console\controllers\ServeController
options() アクション(id)の有効なオプションの名前を返します。オプションには、オプション名と同じ名前のパブリックメンバー変数が存在する必要があります。 yii\console\controllers\ServeController
prompt() ユーザーに入力を促し、それを検証します。 yii\console\Controller
render() ビューをレンダリングし、利用可能な場合はレイアウトを適用します。 yii\base\Controller
renderContent() レイアウトを適用して静的な文字列をレンダリングします。 yii\base\Controller
renderFile() ビューファイルをレンダリングします。 yii\base\Controller
renderPartial() レイアウトを適用せずにビューをレンダリングします。 yii\base\Controller
run() ルートで指定されたリクエストを実行します。 yii\base\Controller
runAction() 指定されたアクション ID とパラメータを使用してアクションを実行します。 yii\console\Controller
select() ユーザーに選択肢を提供します。入力として「?」を指定すると、選択肢とその説明のリストが表示されます。 yii\console\Controller
setView() このコントローラーで使用されるビューオブジェクトを設定します。 yii\base\Controller
setViewPath() ビューファイルを含むディレクトリを設定します。 yii\base\Controller
stderr() 文字列を STDERR に出力します。 yii\console\Controller
stdout() 文字列を STDOUT に出力します。 yii\console\Controller
trigger() イベントをトリガーします。 yii\base\Component

保護されたメソッド

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

メソッド 説明 定義元
bindInjectedParams() アクションメソッドのシグネチャの型と名前に基づいてパラメータを埋めます。 yii\base\Controller
getActionMethodReflection() yii\console\Controller
isAddressTaken() yii\console\controllers\ServeController
parseDocCommentDetail() ドックブロックから完全な説明を返します。 yii\console\Controller
parseDocCommentSummary() ドックブロックの最初の行を返します。 yii\console\Controller
parseDocCommentTags() コメントブロックをタグに解析します。 yii\console\Controller
runCommand() yii\console\controllers\ServeController

イベント

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

イベント 説明 定義元
EVENT_AFTER_ACTION yii\base\ActionEvent コントローラアクションの実行直後に発生するイベント。 yii\base\Controller
EVENT_BEFORE_ACTION yii\base\ActionEvent コントローラアクションの実行直前に発生するイベント。 yii\base\Controller

定数

継承された定数を非表示

定数 説明 定義元
EXIT_CODE_ADDRESS_TAKEN_BY_ANOTHER_PROCESS 5 yii\console\controllers\ServeController
EXIT_CODE_ADDRESS_TAKEN_BY_ANOTHER_SERVER 4 yii\console\controllers\ServeController
EXIT_CODE_ERROR 1 2.0.13 から非推奨。代わりに yii\console\ExitCode::UNSPECIFIED_ERROR を使用してください。 yii\console\Controller
EXIT_CODE_NORMAL 0 2.0.13 から非推奨。代わりに yii\console\ExitCode::OK を使用してください。 yii\console\Controller
EXIT_CODE_NO_DOCUMENT_ROOT 2 yii\console\controllers\ServeController
EXIT_CODE_NO_ROUTING_FILE 3 yii\console\controllers\ServeController

プロパティの詳細

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

$docroot パブリックプロパティ

提供するディレクトリへのパスまたはパスエイリアス

public string $docroot '@app/web'
$port パブリックプロパティ

提供するポート。

public integer $port 8080
$router パブリックプロパティ

ルータースクリプトへのパスまたは パスエイリアスhttps://www.php.net/manual/en/features.commandline.webserver.php を参照してください。

public string $router null

メソッドの詳細

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

__call() パブリックメソッド

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

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

このメソッドは、オブジェクトが既存のオブジェクトを複製することによって作成された後に呼び出されます。

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

public void __clone ( )

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

            
__construct() パブリックメソッド
public void __construct ( $id, $module, $config = [] )
$id string

このコントローラのID。

$module yii\base\Module

このコントローラが属するモジュール。

$config array

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

                public function __construct($id, $module, $config = [])
{
    $this->id = $id;
    $this->module = $module;
    parent::__construct($config);
}

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

            
actionIndex() public メソッド

PHP組み込みのWebサーバーを実行します。

public integer actionIndex ( $address 'localhost' )
$address string

サービスを提供するアドレス。"host" または "host:port" のいずれか。

                public function actionIndex($address = 'localhost')
{
    $documentRoot = Yii::getAlias($this->docroot);
    $router = $this->router !== null ? Yii::getAlias($this->router) : null;
    if (strpos($address, ':') === false) {
        $address = $address . ':' . $this->port;
    }
    if (!is_dir($documentRoot)) {
        $this->stdout("Document root \"$documentRoot\" does not exist.\n", Console::FG_RED);
        return self::EXIT_CODE_NO_DOCUMENT_ROOT;
    }
    if ($this->isAddressTaken($address)) {
        $this->stdout("http://$address is taken by another process.\n", Console::FG_RED);
        return self::EXIT_CODE_ADDRESS_TAKEN_BY_ANOTHER_PROCESS;
    }
    if ($this->router !== null && !file_exists($router)) {
        $this->stdout("Routing file \"$router\" does not exist.\n", Console::FG_RED);
        return self::EXIT_CODE_NO_ROUTING_FILE;
    }
    $this->stdout("Server started on http://{$address}/\n");
    $this->stdout("Document root is \"{$documentRoot}\"\n");
    if ($this->router) {
        $this->stdout("Routing file is \"$router\"\n");
    }
    $this->stdout("Quit the server with CTRL-C or COMMAND-C.\n");
    $command = '"' . PHP_BINARY . '"' . " -S {$address} -t \"{$documentRoot}\"";
    if ($this->router !== null && $router !== '') {
        $command .= " -r \"{$router}\"";
    }
    $this->runCommand($command);
}

            
actions() public メソッド

定義元: yii\base\Controller::actions()

コントローラに対して外部アクションを宣言します。

このメソッドは、コントローラーの外部アクションを宣言するためにオーバーライドされることを意図しています。アクション ID を配列キーとし、対応するアクションクラス名またはアクション設定配列を配列値とする配列を返す必要があります。たとえば、

return [
    'action1' => 'app\components\Action1',
    'action2' => [
        'class' => 'app\components\Action2',
        'property1' => 'value1',
        'property2' => 'value2',
    ],
];

Yii::createObject() は、ここで提供された構成を使用して、要求されたアクションを作成するために後で使用されます。

public array actions ( )

                public function actions()
{
    return [];
}

            
afterAction() public メソッド

定義元: yii\base\Controller::afterAction()

このメソッドは、アクションが実行された直後に呼び出されます。

このメソッドは、EVENT_AFTER_ACTION イベントをトリガーします。このメソッドの戻り値は、アクションの戻り値として使用されます。

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

public function afterAction($action, $result)
{
    $result = parent::afterAction($action, $result);
    // your custom code here
    return $result;
}
public mixed afterAction ( $action, $result )
$action yii\base\Action

実行されたアクション。

$result mixed

アクションの戻り値。

return mixed

処理されたアクションの結果。

                public function afterAction($action, $result)
{
    $event = new ActionEvent($action);
    $event->result = $result;
    $this->trigger(self::EVENT_AFTER_ACTION, $event);
    return $event->result;
}

            
ansiFormat() public メソッド

定義元: yii\console\Controller::ansiFormat()

ANSIコードで文字列をフォーマットします。

yii\helpers\Console で定義されている定数を使用して、追加のパラメーターを渡すことができます。

echo $this->ansiFormat('This will be red and underlined.', Console::FG_RED, Console::UNDERLINE);
public string ansiFormat ( $string )
$string string

フォーマットする文字列

                public function ansiFormat($string)
{
    if ($this->isColorEnabled()) {
        $args = func_get_args();
        array_shift($args);
        $string = Console::ansiFormat($string, $args);
    }
    return $string;
}

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

            
beforeAction() public メソッド

定義元: yii\console\Controller::beforeAction()

このメソッドは、アクションが実行される直前に呼び出されます。

このメソッドは、EVENT_BEFORE_ACTION イベントをトリガーします。このメソッドの戻り値によって、アクションの実行を継続するかどうかが決定されます。

アクションを実行しない場合は、必要な出力を提供するか、リクエストをリダイレクトすることによって、beforeActionコード内でリクエストを処理する必要があります。そうしない場合、レスポンスは空になります。

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

public function beforeAction($action)
{
    // your custom code here, if you want the code to run before action filters,
    // which are triggered on the [[EVENT_BEFORE_ACTION]] event, e.g. PageCache or AccessControl

    if (!parent::beforeAction($action)) {
        return false;
    }

    // other custom code here

    return true; // or false to not run the action
}
public boolean beforeAction ( $action )
$action yii\base\Action

実行されるアクション。

return boolean

アクションの実行を継続するかどうか。

                public function beforeAction($action)
{
    $silentExit = $this->silentExitOnException !== null ? $this->silentExitOnException : YII_ENV_TEST;
    Yii::$app->errorHandler->silentExitOnException = $silentExit;
    return parent::beforeAction($action);
}

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

            
bindActionParams() public メソッド

定義元: yii\console\Controller::bindActionParams()

パラメータをアクションにバインドします。

このメソッドは、yii\base\Action が指定されたパラメーターで実行を開始するときに呼び出されます。このメソッドは、まずパラメーターをアクションで利用可能な options にバインドします。次に、指定された引数を検証します。

public array bindActionParams ( $action, $params )
$action yii\base\Action

パラメーターをバインドするアクション

$params array

アクションにバインドするパラメーター

return array

アクションが実行できる有効なパラメーター。

throws yii\console\Exception

不明なオプションまたは不足している引数がある場合

                public function bindActionParams($action, $params)
{
    if ($action instanceof InlineAction) {
        $method = new \ReflectionMethod($this, $action->actionMethod);
    } else {
        $method = new \ReflectionMethod($action, 'run');
    }
    $args = [];
    $missing = [];
    $actionParams = [];
    $requestedParams = [];
    foreach ($method->getParameters() as $i => $param) {
        $name = $param->getName();
        $key = null;
        if (array_key_exists($i, $params)) {
            $key = $i;
        } elseif (array_key_exists($name, $params)) {
            $key = $name;
        }
        if ($key !== null) {
            if (PHP_VERSION_ID >= 80000) {
                $isArray = ($type = $param->getType()) instanceof \ReflectionNamedType && $type->getName() === 'array';
            } else {
                $isArray = $param->isArray();
            }
            if ($isArray) {
                $params[$key] = $params[$key] === '' ? [] : preg_split('/\s*,\s*/', $params[$key]);
            }
            $args[] = $actionParams[$key] = $params[$key];
            unset($params[$key]);
        } elseif (
            PHP_VERSION_ID >= 70100
            && ($type = $param->getType()) !== null
            && $type instanceof \ReflectionNamedType
            && !$type->isBuiltin()
        ) {
            try {
                $this->bindInjectedParams($type, $name, $args, $requestedParams);
            } catch (\yii\base\Exception $e) {
                throw new Exception($e->getMessage());
            }
        } elseif ($param->isDefaultValueAvailable()) {
            $args[] = $actionParams[$i] = $param->getDefaultValue();
        } else {
            $missing[] = $name;
        }
    }
    if (!empty($missing)) {
        throw new Exception(Yii::t('yii', 'Missing required arguments: {params}', ['params' => implode(', ', $missing)]));
    }
    // We use a different array here, specifically one that doesn't contain service instances but descriptions instead.
    if (\Yii::$app->requestedParams === null) {
        \Yii::$app->requestedParams = array_merge($actionParams, $requestedParams);
    }
    return array_merge($args, $params);
}

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

定義元: yii\base\Controller::bindInjectedParams()

アクションメソッドのシグネチャの型と名前に基づいてパラメータを埋めます。

protected void bindInjectedParams ( ReflectionType $type, $name, &$args, &$requestedParams )
$type ReflectionType

アクションパラメーターのリフレクトされた型。

$name string

パラメーターの名前。

$args array

アクションの引数の配列。この関数は、アイテムを配列に追加できます。

$requestedParams array

リクエストされたパラメーターの配列。この関数は、特定のキーを配列に書き込むことができます。

throws yii\base\ErrorException

必要なサービスをロードできない場合。

throws yii\base\InvalidConfigException

DI構成にエラーがある場合にスローされます。

throws yii\di\NotInstantiableException

コンテナに適切な定義がない場合、定義を具象クラス(インターフェースの型ヒントなど)に解決できない場合にスローされます。

                final protected function bindInjectedParams(\ReflectionType $type, $name, &$args, &$requestedParams)
{
    // Since it is not a builtin type it must be DI injection.
    $typeName = $type->getName();
    if (($component = $this->module->get($name, false)) instanceof $typeName) {
        $args[] = $component;
        $requestedParams[$name] = 'Component: ' . get_class($component) . " \$$name";
    } elseif ($this->module->has($typeName) && ($service = $this->module->get($typeName)) instanceof $typeName) {
        $args[] = $service;
        $requestedParams[$name] = 'Module ' . get_class($this->module) . " DI: $typeName \$$name";
    } elseif (\Yii::$container->has($typeName) && ($service = \Yii::$container->get($typeName)) instanceof $typeName) {
        $args[] = $service;
        $requestedParams[$name] = "Container DI: $typeName \$$name";
    } elseif ($type->allowsNull()) {
        $args[] = null;
        $requestedParams[$name] = "Unavailable service: $name";
    } else {
        throw new Exception('Could not load required service: ' . $name);
    }
}

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

            
confirm() public メソッド

定義元: yii\console\Controller::confirm()

yまたはnを入力して、ユーザーに確認を求めます。

典型的な使用法は次のようになります。

if ($this->confirm("Are you sure?")) {
    echo "user typed yes\n";
} else {
    echo "user typed no\n";
}
public boolean confirm ( $message, $default false )
$message string

ユーザー入力の待ち状態の前に出力するメッセージ

$default boolean

選択が行われなかった場合に返される値。

return boolean

ユーザーが確認したかどうか。$interactive が false の場合、true を返します。

                public function confirm($message, $default = false)
{
    if ($this->interactive) {
        return Console::confirm($message, $default);
    }
    return true;
}

            
createAction() public メソッド

定義元: yii\base\Controller::createAction()

指定されたアクションIDに基づいてアクションを作成します。

このメソッドは、まずアクションIDが actions() で宣言されているかどうかを確認します。宣言されている場合、そこで宣言された構成を使用してアクションオブジェクトを作成します。宣言されていない場合は、名前が `actionXyz` の形式(`xyz` はアクションID)であるコントローラーメソッドを探します。見つかった場合は、そのメソッドを表す yii\base\InlineAction が作成されて返されます。

public yii\base\Action|null createAction ( $id )
$id string

アクションID。

return yii\base\Action|null

新しく作成されたアクションインスタンス。IDがアクションに解決されない場合は null。

                public function createAction($id)
{
    if ($id === '') {
        $id = $this->defaultAction;
    }
    $actionMap = $this->actions();
    if (isset($actionMap[$id])) {
        return Yii::createObject($actionMap[$id], [$id, $this]);
    }
    if (preg_match('/^(?:[a-z0-9_]+-)*[a-z0-9_]+$/', $id)) {
        $methodName = 'action' . str_replace(' ', '', ucwords(str_replace('-', ' ', $id)));
        if (method_exists($this, $methodName)) {
            $method = new \ReflectionMethod($this, $methodName);
            if ($method->isPublic() && $method->getName() === $methodName) {
                return new InlineAction($id, $this, $methodName);
            }
        }
    }
    return null;
}

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

            
findLayoutFile() public メソッド

定義元: yii\base\Controller::findLayoutFile()

該当するレイアウトファイルを見つけます。

public string|boolean findLayoutFile ( $view )
$view yii\base\View

レイアウトファイルをレンダリングするビューオブジェクト。

return string|boolean

レイアウトファイルのパス、またはレイアウトが不要な場合は false。「render()」でこのパラメータを指定する方法を参照してください。

throws yii\base\InvalidArgumentException

レイアウトを指定するために無効なパスエイリアスが使用された場合。

                public function findLayoutFile($view)
{
    $module = $this->module;
    $layout = null;
    if (is_string($this->layout)) {
        $layout = $this->layout;
    } elseif ($this->layout === null) {
        while ($module !== null && $module->layout === null) {
            $module = $module->module;
        }
        if ($module !== null && is_string($module->layout)) {
            $layout = $module->layout;
        }
    }
    if ($layout === null) {
        return false;
    }
    if (strncmp($layout, '@', 1) === 0) {
        $file = Yii::getAlias($layout);
    } elseif (strncmp($layout, '/', 1) === 0) {
        $file = Yii::$app->getLayoutPath() . DIRECTORY_SEPARATOR . substr($layout, 1);
    } else {
        $file = $module->getLayoutPath() . DIRECTORY_SEPARATOR . $layout;
    }
    if (pathinfo($file, PATHINFO_EXTENSION) !== '') {
        return $file;
    }
    $path = $file . '.' . $view->defaultExtension;
    if ($view->defaultExtension !== 'php' && !is_file($path)) {
        $path = $file . '.php';
    }
    return $path;
}

            
getActionArgsHelp() public メソッド

定義元: yii\console\Controller::getActionArgsHelp()

アクションの匿名引数に関するヘルプ情報を返します。

戻り値は配列である必要があります。キーは引数名で、値は対応するヘルプ情報です。各値は、次の構造の配列である必要があります。

  • required: bool、この引数が必須かどうか
  • type: string|null、この引数の PHP 型
  • default: mixed、この引数のデフォルト値
  • comment: string、この引数の説明

デフォルトの実装では、アクションメソッドに対応するパラメータのリフレクションまたは DocBlock から抽出されたヘルプ情報が返されます。

public array getActionArgsHelp ( $action )
$action yii\base\Action

アクションインスタンス

return array

アクション引数のヘルプ情報

                public function getActionArgsHelp($action)
{
    $method = $this->getActionMethodReflection($action);
    $tags = $this->parseDocCommentTags($method);
    $tags['param'] = isset($tags['param']) ? (array) $tags['param'] : [];
    $phpDocParams = [];
    foreach ($tags['param'] as $i => $tag) {
        if (preg_match('/^(?<type>\S+)(\s+\$(?<name>\w+))?(?<comment>.*)/us', $tag, $matches) === 1) {
            $key = empty($matches['name']) ? $i : $matches['name'];
            $phpDocParams[$key] = ['type' => $matches['type'], 'comment' => $matches['comment']];
        }
    }
    unset($tags);
    $args = [];
    /** @var \ReflectionParameter $parameter */
    foreach ($method->getParameters() as $i => $parameter) {
        $type = null;
        $comment = '';
        if (PHP_MAJOR_VERSION > 5 && $parameter->hasType()) {
            $reflectionType = $parameter->getType();
            if (PHP_VERSION_ID >= 70100) {
                $types = method_exists($reflectionType, 'getTypes') ? $reflectionType->getTypes() : [$reflectionType];
                foreach ($types as $key => $reflectionType) {
                    $types[$key] = $reflectionType->getName();
                }
                $type = implode('|', $types);
            } else {
                $type = (string) $reflectionType;
            }
        }
        // find PhpDoc tag by property name or position
        $key = isset($phpDocParams[$parameter->name]) ? $parameter->name : (isset($phpDocParams[$i]) ? $i : null);
        if ($key !== null) {
            $comment = $phpDocParams[$key]['comment'];
            if ($type === null && !empty($phpDocParams[$key]['type'])) {
                $type = $phpDocParams[$key]['type'];
            }
        }
        // if type still not detected, then using type of default value
        if ($type === null && $parameter->isDefaultValueAvailable() && $parameter->getDefaultValue() !== null) {
            $type = gettype($parameter->getDefaultValue());
        }
        $args[$parameter->name] = [
            'required' => !$parameter->isOptional(),
            'type' => $type,
            'default' => $parameter->isDefaultValueAvailable() ? $parameter->getDefaultValue() : null,
            'comment' => $comment,
        ];
    }
    return $args;
}

            
getActionHelp() public メソッド

定義元: yii\console\Controller::getActionHelp()

指定されたアクションの詳細なヘルプ情報を返します。

public string getActionHelp ( $action )
$action yii\base\Action

ヘルプを取得するアクション

return string

指定されたアクションの詳細なヘルプ情報。

                public function getActionHelp($action)
{
    return $this->parseDocCommentDetail($this->getActionMethodReflection($action));
}

            
getActionHelpSummary() public メソッド

定義元: yii\console\Controller::getActionHelpSummary()

指定されたアクションを説明する1行の短い概要を返します。

public string getActionHelpSummary ( $action )
$action yii\base\Action

サマリーを取得するアクション

return string

指定されたアクションを説明する1行の短いサマリー。

                public function getActionHelpSummary($action)
{
    if ($action === null) {
        return $this->ansiFormat(Yii::t('yii', 'Action not found.'), Console::FG_RED);
    }
    return $this->parseDocCommentSummary($this->getActionMethodReflection($action));
}

            
getActionMethodReflection() protected メソッド
protected ReflectionFunctionAbstract getActionMethodReflection ( $action )
$action yii\base\Action

                protected function getActionMethodReflection($action)
{
    if (!isset($this->_reflections[$action->id])) {
        if ($action instanceof InlineAction) {
            $this->_reflections[$action->id] = new \ReflectionMethod($this, $action->actionMethod);
        } else {
            $this->_reflections[$action->id] = new \ReflectionMethod($action, 'run');
        }
    }
    return $this->_reflections[$action->id];
}

            
getActionOptionsHelp() public メソッド

定義元: yii\console\Controller::getActionOptionsHelp()

アクションのオプションに関するヘルプ情報を返します。

戻り値は配列である必要があります。キーはオプション名で、値は対応するヘルプ情報です。各値は、次の構造の配列である必要があります。

  • type: string、この引数の PHP 型。
  • default: string、この引数のデフォルト値
  • comment: string、この引数のコメント

デフォルトの実装では、アクションオプションに対応するプロパティの doc コメントから抽出されたヘルプ情報が返されます。

public array getActionOptionsHelp ( $action )
$action yii\base\Action
return array

アクションオプションのヘルプ情報

                public function getActionOptionsHelp($action)
{
    $optionNames = $this->options($action->id);
    if (empty($optionNames)) {
        return [];
    }
    $class = new \ReflectionClass($this);
    $options = [];
    foreach ($class->getProperties() as $property) {
        $name = $property->getName();
        if (!in_array($name, $optionNames, true)) {
            continue;
        }
        $defaultValue = $property->getValue($this);
        $tags = $this->parseDocCommentTags($property);
        // Display camelCase options in kebab-case
        $name = Inflector::camel2id($name, '-', true);
        if (isset($tags['var']) || isset($tags['property'])) {
            $doc = isset($tags['var']) ? $tags['var'] : $tags['property'];
            if (is_array($doc)) {
                $doc = reset($doc);
            }
            if (preg_match('/^(\S+)(.*)/s', $doc, $matches)) {
                $type = $matches[1];
                $comment = $matches[2];
            } else {
                $type = null;
                $comment = $doc;
            }
            $options[$name] = [
                'type' => $type,
                'default' => $defaultValue,
                'comment' => $comment,
            ];
        } else {
            $options[$name] = [
                'type' => null,
                'default' => $defaultValue,
                'comment' => '',
            ];
        }
    }
    return $options;
}

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

            
getHelp() public メソッド

定義元: yii\console\Controller::getHelp()

このコントローラに関するヘルプ情報を返します。

カスタマイズされたヘルプを返すために、このメソッドをオーバーライドできます。デフォルトの実装では、PHPDocコメントから取得したヘルプ情報を返します。

public string getHelp ( )

                public function getHelp()
{
    return $this->parseDocCommentDetail(new \ReflectionClass($this));
}

            
getHelpSummary() public メソッド

定義元: yii\console\Controller::getHelpSummary()

このコントローラを説明する1行の短い概要を返します。

カスタマイズされた概要を返すために、このメソッドをオーバーライドできます。デフォルトの実装では、PHPDocコメントの最初の行を返します。

public string getHelpSummary ( )

                public function getHelpSummary()
{
    return $this->parseDocCommentSummary(new \ReflectionClass($this));
}

            
getModules() public メソッド

定義元: yii\base\Controller::getModules()

このコントローラのすべての祖先モジュールを返します。

配列内の最初のモジュールは最も外側のモジュール(つまり、アプリケーションインスタンス)であり、最後が最も内側のモジュールです。

public yii\base\Module[] getModules ( )
return yii\base\Module[]

このコントローラが存在するすべての祖先モジュール。

                public function getModules()
{
    $modules = [$this->module];
    $module = $this->module;
    while ($module->module !== null) {
        array_unshift($modules, $module->module);
        $module = $module->module;
    }
    return $modules;
}

            
getOptionValues() public メソッド

定義元: yii\console\Controller::getOptionValues()

アクション ID のオプションに対応するプロパティを返します。子クラスはこのメソッドをオーバーライドして、可能なプロパティを指定できます。

public array getOptionValues ( $actionID )
$actionID string

現在のリクエストのアクションID

return array

アクションのオプションに対応するプロパティ

                public function getOptionValues($actionID)
{
    // $actionId might be used in subclasses to provide properties specific to action id
    $properties = [];
    foreach ($this->options($this->action->id) as $property) {
        $properties[$property] = $this->$property;
    }
    return $properties;
}

            
getPassedOptionValues() public メソッド

定義元: yii\console\Controller::getPassedOptionValues()

渡されたオプションに対応するプロパティを返します。

public array getPassedOptionValues ( )
return array

渡されたオプションに対応するプロパティ

                public function getPassedOptionValues()
{
    $properties = [];
    foreach ($this->_passedOptions as $property) {
        $properties[$property] = $this->$property;
    }
    return $properties;
}

            
getPassedOptions() public メソッド

定義元: yii\console\Controller::getPassedOptions()

実行時に渡された有効なオプションの名前を返します。

public array getPassedOptions ( )
return array

実行中に渡されたオプションの名前

                public function getPassedOptions()
{
    return $this->_passedOptions;
}

            
getRoute() public メソッド

定義元: yii\base\Controller::getRoute()

現在のリクエストのルートを返します。

public string getRoute ( )
return string

現在のリクエストのルート(モジュールID、コントローラID、アクションID)。

                public function getRoute()
{
    return $this->action !== null ? $this->action->getUniqueId() : $this->getUniqueId();
}

            
getUniqueId() public メソッド

定義元: yii\base\Controller::getUniqueId()

コントローラのユニーク ID を返します。

public string getUniqueId ( )
return string

モジュールID(存在する場合)がプレフィックスとして付加されたコントローラID。

                public function getUniqueId()
{
    return $this->module instanceof Application ? $this->id : $this->module->getUniqueId() . '/' . $this->id;
}

            
getView() public メソッド

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

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

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

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

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

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

            
getViewPath() public メソッド

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

このコントローラのビューファイルを含むディレクトリを返します。

デフォルトの実装では、$module$viewPath ディレクトリにある、コントローラの $id という名前のディレクトリを返します。

public string getViewPath ( )
return string

このコントローラのビューファイルを含むディレクトリ。

                public function getViewPath()
{
    if ($this->_viewPath === null) {
        $this->_viewPath = $this->module->getViewPath() . DIRECTORY_SEPARATOR . $this->id;
    }
    return $this->_viewPath;
}

            
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 メソッド (バージョン 2.0.36 から利用可能)

定義元: yii\base\Controller::init()

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

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

public void init ( )

                public function init()
{
    parent::init();
    $this->request = Instance::ensure($this->request, Request::className());
    $this->response = Instance::ensure($this->response, Response::className());
}

            
isAddressTaken() protected メソッド

protected boolean isAddressTaken ( $address )
$address string

サーバーアドレス

return boolean

アドレスが既に使用中の場合

                protected function isAddressTaken($address)
{
    list($hostname, $port) = explode(':', $address);
    $fp = @fsockopen($hostname, $port, $errno, $errstr, 3);
    if ($fp === false) {
        return false;
    }
    fclose($fp);
    return true;
}

            
isColorEnabled() public メソッド

定義元: yii\console\Controller::isColorEnabled()

ANSI カラーが有効かどうかを示す値を返します。

ANSI カラーは、$color が true に設定されているか、設定されておらず、かつターミナルが ANSI カラーをサポートしている場合にのみ有効になります。

public boolean isColorEnabled ( $stream = \STDOUT )
$stream リソース

チェックするストリーム。

return boolean

出力で ANSI スタイルを有効にするかどうか。

                public function isColorEnabled($stream = \STDOUT)
{
    return $this->color === null ? Console::streamSupportsAnsiColors($stream) : $this->color;
}

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

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

オプションのエイリアス名を返します。

子クラスは、このメソッドをオーバーライドしてエイリアスオプションを指定できます。

public array optionAliases ( )
return array

アクションで有効なオプションのエイリアス名。キーはオプションのエイリアス名で、値はオプション名です。

                public function optionAliases()
{
    return array_merge(parent::optionAliases(), [
        't' => 'docroot',
        'p' => 'port',
        'r' => 'router',
    ]);
}

            
options() public メソッド

アクション(id)の有効なオプションの名前を返します。オプションには、オプション名と同じ名前のパブリックメンバー変数が存在する必要があります。

子クラスは、このメソッドをオーバーライドして、可能なオプションを指定できます。

オプションを介した値の設定は、beforeAction() が呼び出されるまで利用できないことに注意してください。

public string[] options ( $actionID )
$actionID string

現在のリクエストのアクションID

return string[]

アクションで有効なオプションの名前

                public function options($actionID)
{
    return array_merge(parent::options($actionID), [
        'docroot',
        'router',
        'port',
    ]);
}

            
parseDocCommentDetail() protected メソッド

定義元: yii\console\Controller::parseDocCommentDetail()

ドックブロックから完全な説明を返します。

protected string parseDocCommentDetail ( $reflection )
$reflection ReflectionClass|ReflectionProperty|ReflectionFunctionAbstract

                protected function parseDocCommentDetail($reflection)
{
    $comment = strtr(trim(preg_replace('/^\s*\**([ \t])?/m', '', trim($reflection->getDocComment(), '/'))), "\r", '');
    if (preg_match('/^\s*@\w+/m', $comment, $matches, PREG_OFFSET_CAPTURE)) {
        $comment = trim(substr($comment, 0, $matches[0][1]));
    }
    if ($comment !== '') {
        return rtrim(Console::renderColoredString(Console::markdownToAnsi($comment)));
    }
    return '';
}

            
parseDocCommentSummary() protected メソッド

定義元: yii\console\Controller::parseDocCommentSummary()

ドックブロックの最初の行を返します。

protected string parseDocCommentSummary ( $reflection )
$reflection ReflectionClass|ReflectionProperty|ReflectionFunctionAbstract

                protected function parseDocCommentSummary($reflection)
{
    $docLines = preg_split('~\R~u', $reflection->getDocComment());
    if (isset($docLines[1])) {
        return trim($docLines[1], "\t *");
    }
    return '';
}

            
parseDocCommentTags() protected メソッド

定義元: yii\console\Controller::parseDocCommentTags()

コメントブロックをタグに解析します。

protected array parseDocCommentTags ( $reflection )
$reflection ReflectionClass|ReflectionProperty|ReflectionFunctionAbstract

コメントブロック

return array

パースされたタグ

                protected function parseDocCommentTags($reflection)
{
    $comment = $reflection->getDocComment();
    $comment = "@description \n" . strtr(trim(preg_replace('/^\s*\**([ \t])?/m', '', trim($comment, '/'))), "\r", '');
    $parts = preg_split('/^\s*@/m', $comment, -1, PREG_SPLIT_NO_EMPTY);
    $tags = [];
    foreach ($parts as $part) {
        if (preg_match('/^(\w+)(.*)/ms', trim($part), $matches)) {
            $name = $matches[1];
            if (!isset($tags[$name])) {
                $tags[$name] = trim($matches[2]);
            } elseif (is_array($tags[$name])) {
                $tags[$name][] = trim($matches[2]);
            } else {
                $tags[$name] = [$tags[$name], trim($matches[2])];
            }
        }
    }
    return $tags;
}

            
prompt() public メソッド

定義元: yii\console\Controller::prompt()

ユーザーに入力を促し、それを検証します。

public string prompt ( $text, $options = [] )
$text string

プロンプト文字列

$options array

入力を検証するためのオプション

  • required: 必須かどうか
  • default: ユーザーが何も入力しなかった場合のデフォルト値
  • pattern: ユーザー入力を検証するための正規表現パターン
  • validator: 入力を検証するためのコールバック関数。関数は2つのパラメータを受け入れる必要があります
    • $input: 検証するユーザー入力
    • $error: 検証が失敗した場合に参照渡しされるエラー値。

validator関数を使用したpromptメソッドの使い方の例。

$code = $this->prompt('Enter 4-Chars-Pin', ['required' => true, 'validator' => function($input, &$error) {
    if (strlen($input) !== 4) {
        $error = 'The Pin must be exactly 4 chars!';
        return false;
    }
    return true;
}]);
return string

ユーザー入力

                public function prompt($text, $options = [])
{
    if ($this->interactive) {
        return Console::prompt($text, $options);
    }
    return isset($options['default']) ? $options['default'] : '';
}

            
render() public メソッド

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

ビューをレンダリングし、利用可能な場合はレイアウトを適用します。

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

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

適用するレイアウトを決定するために、次の2つのステップが実行されます。

  1. 最初のステップでは、レイアウト名とコンテキストモジュールを決定します。
  • $layoutが文字列として指定されている場合、それをレイアウト名として使用し、$moduleをコンテキストモジュールとして使用します。
  • $layoutがnullの場合、このコントローラのすべての上位モジュールを検索し、layoutがnullでない最初のモジュールを見つけます。レイアウトと対応するモジュールは、それぞれレイアウト名とコンテキストモジュールとして使用されます。そのようなモジュールが見つからない場合、または対応するレイアウトが文字列でない場合は、falseを返します。これは、適用可能なレイアウトがないことを意味します。
  1. 2番目のステップでは、以前に見つけたレイアウト名とコンテキストモジュールに従って、実際のレイアウトファイルを決定します。レイアウト名は次のいずれかです。
  • パスエイリアス(例: "@app/views/layouts/main");
  • 絶対パス(例: "/main"):レイアウト名はスラッシュで始まります。実際のレイアウトファイルは、アプリケーションのレイアウトパスの下で検索されます。
  • 相対パス(例: "main"):実際のレイアウトファイルは、コンテキストモジュールのレイアウトパスの下で検索されます。

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

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

ビュー名。

$params array

ビューで利用可能にする必要があるパラメータ(名前と値のペア)。これらのパラメータはレイアウトでは利用できません。

return string

レンダリング結果。

throws yii\base\InvalidArgumentException

ビューファイルまたはレイアウトファイルが存在しない場合。

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

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

定義元: yii\base\Controller::renderContent()

レイアウトを適用して静的な文字列をレンダリングします。

public string renderContent ( $content )
$content string

レンダリングされる静的な文字列

return string

指定された静的文字列を$content変数として使用したレイアウトのレンダリング結果。レイアウトが無効になっている場合、文字列はそのまま返されます。

                public function renderContent($content)
{
    $layoutFile = $this->findLayoutFile($this->getView());
    if ($layoutFile !== false) {
        return $this->getView()->renderFile($layoutFile, ['content' => $content], $this);
    }
    return $content;
}

            
renderFile() public メソッド

定義元: yii\base\Controller::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);
}

            
renderPartial() public メソッド

定義元: yii\base\Controller::renderPartial()

レイアウトを適用せずにビューをレンダリングします。

このメソッドは、レイアウトを適用しないという点でrender()とは異なります。

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

ビュー名。ビュー名の指定方法については、render()を参照してください。

$params array

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

return string

レンダリング結果。

throws yii\base\InvalidArgumentException

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

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

            
run() public メソッド

定義元: yii\base\Controller::run()

ルートで指定されたリクエストを実行します。

ルートは、このコントローラー内のアクションのID、またはモジュールID、コントローラーID、アクションIDで構成される完全なルートのいずれかになります。ルートがスラッシュ '/' で始まる場合、ルートの解析はアプリケーションから開始されます。それ以外の場合は、このコントローラーの親モジュールから開始されます。

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

public mixed run ( $route, $params = [] )
$route string

処理されるルート。例:'view'、'comment/view'、'/admin/comment/view'。

$params array

アクションに渡されるパラメータ。

return mixed

アクションの結果。

                public function run($route, $params = [])
{
    $pos = strpos($route, '/');
    if ($pos === false) {
        return $this->runAction($route, $params);
    } elseif ($pos > 0) {
        return $this->module->runAction($route, $params);
    }
    return Yii::$app->runAction(ltrim($route, '/'), $params);
}

            
runAction() public メソッド

定義元: yii\console\Controller::runAction()

指定されたアクション ID とパラメータを使用してアクションを実行します。

アクション ID が空の場合、このメソッドは $defaultAction を使用します。

参照: createAction()

public integer runAction ( $id, $params = [] )
$id string

実行するアクションのID。

$params array

アクションに渡されるパラメータ (名前と値のペア)。

return integer

アクションの実行ステータス。0 は正常、その他の値は異常を意味します。

throws yii\base\InvalidRouteException

要求されたアクション ID が正常にアクションに解決できない場合。

throws yii\console\Exception

不明なオプションまたは不足している引数がある場合

                public function runAction($id, $params = [])
{
    if (!empty($params)) {
        // populate options here so that they are available in beforeAction().
        $options = $this->options($id === '' ? $this->defaultAction : $id);
        if (isset($params['_aliases'])) {
            $optionAliases = $this->optionAliases();
            foreach ($params['_aliases'] as $name => $value) {
                if (array_key_exists($name, $optionAliases)) {
                    $params[$optionAliases[$name]] = $value;
                } else {
                    $message = Yii::t('yii', 'Unknown alias: -{name}', ['name' => $name]);
                    if (!empty($optionAliases)) {
                        $aliasesAvailable = [];
                        foreach ($optionAliases as $alias => $option) {
                            $aliasesAvailable[] = '-' . $alias . ' (--' . $option . ')';
                        }
                        $message .= '. ' . Yii::t('yii', 'Aliases available: {aliases}', [
                            'aliases' => implode(', ', $aliasesAvailable)
                        ]);
                    }
                    throw new Exception($message);
                }
            }
            unset($params['_aliases']);
        }
        foreach ($params as $name => $value) {
            // Allow camelCase options to be entered in kebab-case
            if (!in_array($name, $options, true) && strpos($name, '-') !== false) {
                $kebabName = $name;
                $altName = lcfirst(Inflector::id2camel($kebabName));
                if (in_array($altName, $options, true)) {
                    $name = $altName;
                }
            }
            if (in_array($name, $options, true)) {
                $default = $this->$name;
                if (is_array($default) && is_string($value)) {
                    $this->$name = preg_split('/\s*,\s*(?![^()]*\))/', $value);
                } elseif ($default !== null) {
                    settype($value, gettype($default));
                    $this->$name = $value;
                } else {
                    $this->$name = $value;
                }
                $this->_passedOptions[] = $name;
                unset($params[$name]);
                if (isset($kebabName)) {
                    unset($params[$kebabName]);
                }
            } elseif (!is_int($name)) {
                $message = Yii::t('yii', 'Unknown option: --{name}', ['name' => $name]);
                if (!empty($options)) {
                    $message .= '. ' . Yii::t('yii', 'Options available: {options}', ['options' => '--' . implode(', --', $options)]);
                }
                throw new Exception($message);
            }
        }
    }
    if ($this->help) {
        $route = $this->getUniqueId() . '/' . $id;
        return Yii::$app->runAction('help', [$route]);
    }
    return parent::runAction($id, $params);
}

            
runCommand() protected メソッド

protected void runCommand ( $command )
$command

                protected function runCommand($command)
{
    passthru($command);
}

            
select() public メソッド

定義元: yii\console\Controller::select()

ユーザーに選択肢を提供します。入力として「?」を指定すると、選択肢とその説明のリストが表示されます。

public string select ( $prompt, $options = [], $default null )
$prompt string

プロンプトメッセージ

$options array

選択肢のキーと値の配列

$default string|null

ユーザーがオプションを提供しない場合に使用する値。デフォルトが null の場合、ユーザーはオプションを選択する必要があります。

return string

ユーザーが選択したオプション文字

バージョン 説明
2.0.49 $default 引数を追加

                public function select($prompt, $options = [], $default = null)
{
    if ($this->interactive) {
        return Console::select($prompt, $options, $default);
    }
    return $default;
}

            
setView() public メソッド

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

このコントローラーで使用されるビューオブジェクトを設定します。

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

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

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

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

定義元: yii\base\Controller::setViewPath()

ビューファイルを含むディレクトリを設定します。

public void setViewPath ( $path )
$path string

ビューファイルのルートディレクトリ。

throws yii\base\InvalidArgumentException

ディレクトリが無効な場合

                public function setViewPath($path)
{
    $this->_viewPath = Yii::getAlias($path);
}

            
stderr() public メソッド

定義元: yii\console\Controller::stderr()

文字列を STDERR に出力します。

yii\helpers\Console で定義された定数を使用することで、追加のパラメータを渡して ANSI コードで文字列をフォーマットすることができます。

$this->stderr('This will be red and underlined.', Console::FG_RED, Console::UNDERLINE);
public integer|boolean stderr ( $string )
$string string

出力する文字列

return integer|boolean

出力されたバイト数、またはエラーの場合は false

                public function stderr($string)
{
    if ($this->isColorEnabled(\STDERR)) {
        $args = func_get_args();
        array_shift($args);
        $string = Console::ansiFormat($string, $args);
    }
    return fwrite(\STDERR, $string);
}

            
stdout() public メソッド

定義元: yii\console\Controller::stdout()

文字列を STDOUT に出力します。

yii\helpers\Console で定義された定数を使用することで、追加のパラメータを渡して ANSI コードで文字列をフォーマットすることができます。

$this->stdout('This will be red and underlined.', Console::FG_RED, Console::UNDERLINE);
public integer|boolean stdout ( $string )
$string string

出力する文字列

return integer|boolean

出力されたバイト数、またはエラーの場合は false

                public function stdout($string)
{
    if ($this->isColorEnabled()) {
        $args = func_get_args();
        array_shift($args);
        $string = Console::ansiFormat($string, $args);
    }
    return Console::stdout($string);
}

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