0 フォロワー

クラス yii\console\controllers\CacheController

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

キャッシュをフラッシュできます。

フラッシュ可能なコンポーネントの一覧を参照してください。

yii cache

名前を指定して特定のコンポーネントをフラッシュします。

yii cache/flush first second third

システムに見つかったすべてのキャッシュコンポーネントをフラッシュします。

yii cache/flush-all

このコマンドは、コンソールアプリケーションの設定ファイルで定義されているキャッシュコンポーネントを使用することに注意してください。コンポーネントの設定がウェブアプリケーションと異なる場合、ウェブアプリケーションのキャッシュはクリアされません。これを修正するには、コンソール設定にウェブアプリケーションのキャッシュコンポーネントを複製してください。任意のコンポーネント名を使用できます。

APCはPHPプロセス間で共有されないため、コマンドラインからキャッシュをフラッシュしてもウェブには影響しません。ウェブキャッシュのフラッシュは、次のいずれかの方法で行うことができます。

  • PHPファイルをウェブルートに配置し、HTTP経由で呼び出す
  • Cachetool を使用する

公開プロパティ

継承されたプロパティを非表示

プロパティ 説明 定義元
$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
$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
$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
$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
actionFlush() 指定されたキャッシュコンポーネントをフラッシュします。 yii\console\controllers\CacheController
actionFlushAll() システムに登録されているすべてのキャッシュをフラッシュします。 yii\console\controllers\CacheController
actionFlushSchema() 指定された接続コンポーネントのDBスキーマキャッシュをクリアします。 yii\console\controllers\CacheController
actionIndex() フラッシュできるキャッシュを一覧表示します。 yii\console\controllers\CacheController
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\Controller
options() アクション(id)の有効なオプションの名前を返します。オプションには、オプション名と同じ名前のパブリックメンバ変数の存在が必要です。 yii\console\Controller
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
parseDocCommentDetail() docblockから完全な説明を返します。 yii\console\Controller
parseDocCommentSummary() docblockの最初の行を返します。 yii\console\Controller
parseDocCommentTags() コメントブロックをタグに解析します。 yii\console\Controller

イベント

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

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

定数

継承された定数を非表示

定数 説明 定義元
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

メソッドの詳細

継承されたメソッドを非表示

__call() public method

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

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

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

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

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

メソッド名

$params array

メソッドパラメーター

戻り値 mixed

メソッドの戻り値

例外 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 method

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

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

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

public void __clone ( )

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

            
__construct() public method
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() public method

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

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

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

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

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

詳しくは __set() を参照してください。

public mixed __get ( $name )
$name string

プロパティ名

戻り値 mixed

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

例外 yii\base\UnknownPropertyException

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

例外 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 method

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

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

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

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

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

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

public boolean __isset ( $name )
$name string

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

戻り値 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 method

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

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

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

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

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

こちらも参照してください __get().

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

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

$value mixed

プロパティ値

例外 yii\base\UnknownPropertyException

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

例外 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に設定します。

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

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

public void __unset ( $name )
$name string

プロパティ名

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

            
actionFlush() public メソッド

指定されたキャッシュコンポーネントをフラッシュします。

例えば、

# flushes caches specified by their id: "first", "second", "third"
yii cache/flush first second third
public void actionFlush ( )

                public function actionFlush()
{
    $cachesInput = func_get_args();
    if (empty($cachesInput)) {
        throw new Exception('You should specify cache components names');
    }
    $caches = $this->findCaches($cachesInput);
    $cachesInfo = [];
    $foundCaches = array_keys($caches);
    $notFoundCaches = array_diff($cachesInput, array_keys($caches));
    if ($notFoundCaches !== []) {
        $this->notifyNotFoundCaches($notFoundCaches);
    }
    if ($foundCaches === []) {
        $this->notifyNoCachesFound();
        return ExitCode::OK;
    }
    if (!$this->confirmFlush($foundCaches)) {
        return ExitCode::OK;
    }
    foreach ($caches as $name => $class) {
        $cachesInfo[] = [
            'name' => $name,
            'class' => $class,
            'is_flushed' => $this->canBeFlushed($class) ? Yii::$app->get($name)->flush() : false,
        ];
    }
    $this->notifyFlushed($cachesInfo);
}

            
actionFlushAll() public メソッド

システムに登録されているすべてのキャッシュをフラッシュします。

public void actionFlushAll ( )

                public function actionFlushAll()
{
    $caches = $this->findCaches();
    $cachesInfo = [];
    if (empty($caches)) {
        $this->notifyNoCachesFound();
        return ExitCode::OK;
    }
    foreach ($caches as $name => $class) {
        $cachesInfo[] = [
            'name' => $name,
            'class' => $class,
            'is_flushed' => $this->canBeFlushed($class) ? Yii::$app->get($name)->flush() : false,
        ];
    }
    $this->notifyFlushed($cachesInfo);
}

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

指定された接続コンポーネントのDBスキーマキャッシュをクリアします。

# clears cache schema specified by component id: "db"
yii cache/flush-schema db
public integer actionFlushSchema ( $db 'db' )
$db string

ID接続コンポーネント

戻り値 integer

終了コード

例外 yii\console\Exception
例外 yii\base\InvalidConfigException

                public function actionFlushSchema($db = 'db')
{
    $connection = Yii::$app->get($db, false);
    if ($connection === null) {
        $this->stdout("Unknown component \"$db\".\n", Console::FG_RED);
        return ExitCode::UNSPECIFIED_ERROR;
    }
    if (!$connection instanceof \yii\db\Connection) {
        $this->stdout("\"$db\" component doesn't inherit \\yii\\db\\Connection.\n", Console::FG_RED);
        return ExitCode::UNSPECIFIED_ERROR;
    } elseif (!$this->confirm("Flush cache schema for \"$db\" connection?")) {
        return ExitCode::OK;
    }
    try {
        $schema = $connection->getSchema();
        $schema->refresh();
        $this->stdout("Schema cache for component \"$db\", was flushed.\n\n", Console::FG_GREEN);
    } catch (\Exception $e) {
        $this->stdout($e->getMessage() . "\n\n", Console::FG_RED);
    }
}

            
actionIndex() public メソッド

フラッシュできるキャッシュを一覧表示します。

public void actionIndex ( )

                public function actionIndex()
{
    $caches = $this->findCaches();
    if (!empty($caches)) {
        $this->notifyCachesCanBeFlushed($caches);
    } else {
        $this->notifyNoCachesFound();
    }
}

            
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

アクションの戻り値。

戻り値 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() に渡されるオブジェクト設定配列。
戻り値 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

実行されるアクション。

戻り値 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 ( )
戻り値 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

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

戻り値 array

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

例外 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

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

例外 yii\base\ErrorException

必要なサービスを読み込めなかった場合。

例外 yii\base\InvalidConfigException

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

例外 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()

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

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

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

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

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

プロパティ名

$checkVars boolean

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

$checkBehaviors boolean

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

戻り値 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

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

戻り値 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 ( )
戻り値 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

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

戻り値 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。

戻り値 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

ビヘイビアの名前。

戻り値 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

レイアウトファイルを描画するビューオブジェクト。

戻り値 string|boolean

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

例外 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, この引数の説明。

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

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

アクションインスタンス。

戻り値 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

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

戻り値 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

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

戻り値 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
戻り値 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

ビヘイビア名。

戻り値 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 ( )
戻り値 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 ( )
戻り値 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

戻り値 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 ( )
戻り値 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 ( )
戻り値 array

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

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

            
getRoute() public メソッド

定義されている場所: yii\base\Controller::getRoute()

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

public string getRoute ( )
戻り値 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 ( )
戻り値 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 ( )
戻り値 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()

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

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

public string getViewPath ( )
戻り値 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

イベント名

戻り値 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

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

戻り値 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

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

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

            
isColorEnabled() publicメソッド

定義済み場所: yii\console\Controller::isColorEnabled()

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

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

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

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

戻り値 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の場合、指定されたイベントにアタッチされたすべてのハンドラが削除されます。

戻り値 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から利用可能)

定義済み場所: yii\console\Controller::optionAliases()

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

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

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

public array optionAliases ( )
戻り値 array

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

                public function optionAliases()
{
    return [
        'h' => 'help',
    ];
}

            
options() publicメソッド

定義済み場所: yii\console\Controller::options()

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

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

オプションを介して設定された値は、beforeAction()が呼び出されるまで利用できません。

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

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

戻り値 string[]

アクションに対して有効なオプションの名前

                public function options($actionID)
{
    // $actionId might be used in subclasses to provide options specific to action id
    return ['color', 'interactive', 'help', 'silentExitOnException'];
}

            
parseDocCommentDetail() protectedメソッド

定義済み場所: yii\console\Controller::parseDocCommentDetail()

docblockから完全な説明を返します。

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

docblockの最初の行を返します。

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

コメントブロック

戻り値 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: 検証に失敗した場合、参照によって渡されるエラー値。

バリデーター関数を使用して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;
}]);
戻り値 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"): ビュー名がダブルスラッシュで始まる場合。実際のビューファイルは、アプリケーションのview pathで検索されます。
  • モジュール内の絶対パス (例: "/site/index"): ビュー名がシングルスラッシュで始まる場合。実際のビューファイルは、view path$moduleで検索されます。
  • 相対パス (例: "index"): 実際のビューファイルは$viewPathで検索されます。

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

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

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

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

ビュー名。

$params array

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

戻り値 string

レンダリング結果。

例外 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

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

戻り値 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

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

戻り値 string

レンダリング結果。

例外 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

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

戻り値 string

レンダリング結果。

例外 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

アクションに渡すパラメーター。

戻り値 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

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

戻り値 integer

アクション実行のステータス。0は正常、それ以外の値は異常。

例外 yii\base\InvalidRouteException

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

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

            
select() publicメソッド

定義場所: yii\console\Controller::select()

ユーザーに選択肢を選ぶように促します。「?」を入力すると、選択肢とその説明が表示されます。

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

プロンプトメッセージ

$options array

選択可能なオプションのキーと値の配列

$default string|null

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

戻り値 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

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

例外 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

出力する文字列

戻り値 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

出力する文字列

戻り値 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);
}