0 フォロワー

クラス yii\console\Application

継承yii\console\Application » yii\base\Application » yii\base\Module » yii\di\ServiceLocator » yii\base\Component » yii\base\BaseObject
実装yii\base\Configurable
利用可能なバージョン2.0
ソースコード https://github.com/yiisoft/yii2/blob/master/framework/console/Application.php

Application はコンソールアプリケーションを表します。

Application は yii\base\Application を拡張し、コンソールリクエストに特有の機能を提供します。特に、コマンドベースのアプローチを通じてコンソールリクエストを処理します。

  • コンソールアプリケーションは、1つまたは複数の可能なユーザーコマンドで構成されます。
  • 各ユーザーコマンドは、yii\console\Controller を拡張したクラスとして実装されます。
  • ユーザーは、コマンドラインで実行するコマンドを指定します。
  • コマンドは、指定されたパラメータを使用してユーザーリクエストを処理します。

コマンドクラスは、$controllerNamespace で指定された名前空間の下にある必要があります。それらの命名は、コントローラーと同じ命名規則に従う必要があります。たとえば、help コマンドは HelpController クラスを使用して実装されます。

コンソールアプリケーションを実行するには、コマンドラインで以下を入力します。

yii <route> [--param1=value1 --param2 ...]

ここで、<route> は、ModuleID/ControllerID/ActionID の形式 (例: sitemap/create) のコントローラールートを参照し、param1param2 は、コントローラーアクションを初期化するために使用される名前付きパラメータのセットを参照します (例: --since=0 は、値が 0 の since パラメータを指定し、対応する $since パラメータがアクションメソッドに渡されます)。

help コマンドはデフォルトで提供され、利用可能なコマンドとその使用法を一覧表示します。このコマンドを使用するには、次のように入力します。

yii help

公開プロパティ

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

プロパティ 説明 定義元
$aliases 配列 定義されるパスエイリアスのリスト。 yii\base\Module
$assetManager yii\web\AssetManager アセットマネージャーアプリケーションコンポーネント。 yii\base\Application
$authManager yii\rbac\ManagerInterface|null 認証マネージャーアプリケーションコンポーネント。設定されていない場合は null。 yii\base\Application
$basePath 文字列 アプリケーションのルートディレクトリ。 yii\base\Application
$behaviors yii\base\Behavior[] このコンポーネントにアタッチされたビヘイビアのリスト。 yii\base\Component
$bootstrap 配列 アプリケーションのブートストラッププロセス中に実行される必要があるコンポーネントのリスト。 yii\base\Application
$cache yii\caching\CacheInterface|null キャッシュアプリケーションコンポーネント。 yii\base\Application
$charset 文字列 現在アプリケーションで使用されている文字セット。 yii\base\Application
$components 配列 コンポーネント定義またはロードされたコンポーネントインスタンスのリスト (ID => 定義またはインスタンス)。 yii\di\ServiceLocator
$container 配列 名前と値のペアで与えられた値。 yii\base\Application
$controller yii\console\Controller 現在アクティブなコントローラーインスタンス yii\console\Application
$controllerMap 配列 コントローラーIDからコントローラー構成へのマッピング。 yii\base\Module
$controllerNamespace 文字列 コントローラークラスが配置されている名前空間。 yii\base\Application
$controllerPath 文字列 コントローラークラスを含むディレクトリ。 yii\base\Module
$db yii\db\Connection データベース接続。 yii\base\Application
$defaultRoute 文字列 このアプリケーションのデフォルトルート。 yii\console\Application
$enableCoreCommands ブール値 コアフレームワークによって提供されるコマンドを有効にするかどうか。 yii\console\Application
$errorHandler yii\console\ErrorHandler エラーハンドラーアプリケーションコンポーネント。 yii\console\Application
$extensions 配列|null インストールされている Yii エクステンションのリスト。 yii\base\Application
$formatter yii\i18n\Formatter フォーマッターアプリケーションコンポーネント。 yii\base\Application
$i18n yii\i18n\I18N 国際化アプリケーションコンポーネント。 yii\base\Application
$id 文字列 が同じである他のモジュールの中で、このモジュールを一意に識別するID。 yii\base\Module
$language 文字列 エンドユーザーに使用されることを意図した言語。 yii\base\Application
$layout 文字列|ブール値 このアプリケーションのビューに適用される必要があるレイアウト。 yii\base\Application
$layoutPath 文字列 レイアウトファイルのルートディレクトリ。 yii\base\Module
$loadedModules 配列 クラス名でインデックス付けされた、ロードされたモジュールのリスト。 yii\base\Application
$log yii\log\Dispatcher ログディスパッチャーアプリケーションコンポーネント。 yii\base\Application
$mailer yii\mail\MailerInterface メーラーアプリケーションコンポーネント。 yii\base\Application
$module yii\base\Module|null このモジュールの親モジュール。 yii\base\Module
$modules 配列 モジュール(IDでインデックス付け)。 yii\base\Module
$name 文字列 アプリケーション名。 yii\base\Application
$params 配列 カスタムモジュールパラメータ(名前 => 値)。 yii\base\Module
$request yii\console\Request リクエストコンポーネント。 yii\console\Application
$requestedAction yii\base\Action|null 要求されたアクション。 yii\base\Application
$requestedParams 配列 要求されたアクションに提供されたパラメータ。 yii\base\Application
$requestedRoute 文字列 要求されたルート yii\base\Application
$response yii\console\Response レスポンスコンポーネント。 yii\console\Application
$runtimePath 文字列 ランタイムファイルを格納するディレクトリ。 yii\base\Application
$security yii\base\Security セキュリティアプリケーションコンポーネント。 yii\base\Application
$sourceLanguage 文字列 アプリケーションが記述されている言語。 yii\base\Application
$state 整数 リクエスト処理ライフサイクル中の現在のアプリケーションの状態。 yii\base\Application
$timeZone 文字列 このアプリケーションで使用されるタイムゾーン。 yii\base\Application
$uniqueId 文字列 モジュールの一意のID。 yii\base\Application
$urlManager yii\web\UrlManager このアプリケーションのURLマネージャー。 yii\base\Application
$vendorPath 文字列 ベンダーファイルを格納するディレクトリ。 yii\base\Application
$version 文字列 このモジュールのバージョン。 yii\base\Module
$view yii\base\View|yii\web\View さまざまなビューファイルをレンダリングするために使用されるビューアプリケーションコンポーネント。 yii\base\Application
$viewPath 文字列 ビューファイルのルートディレクトリ。 yii\base\Module

公開メソッド

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

メソッド 説明 定義元
__call() クラスメソッドではない、指定された名前のメソッドを呼び出します。 yii\base\Component
__clone() このメソッドは、既存のオブジェクトを複製して新しいオブジェクトが作成された後に呼び出されます。 yii\base\Component
__construct() コンストラクタ。 yii\console\Application
__get() ゲッターマジックメソッド。 yii\di\ServiceLocator
__isset() プロパティの値が null かどうかをチェックします。 yii\di\ServiceLocator
__set() コンポーネントのプロパティの値を設定します。 yii\base\Component
__unset() コンポーネントのプロパティを null に設定します。 yii\base\Component
afterAction() このメソッドは、このモジュール内のアクションが実行された直後に呼び出されます。 yii\base\Module
attachBehavior() このコンポーネントにビヘイビアをアタッチします。 yii\base\Component
attachBehaviors() コンポーネントにビヘイビアのリストをアタッチします。 yii\base\Component
beforeAction() このメソッドは、このモジュール内のアクションが実行される直前に呼び出されます。 yii\base\Module
behaviors() このコンポーネントが動作すべきビヘイビアのリストを返します。 yii\base\Component
canGetProperty() プロパティが読み取り可能かどうかを示す値を返します。 yii\base\Component
canSetProperty() プロパティが設定可能かどうかを示す値を返します。 yii\base\Component
className() このクラスの完全修飾名を返します。 yii\base\BaseObject
clear() ロケーターからコンポーネントを削除します。 yii\di\ServiceLocator
coreCommands() 組み込みコマンドの設定を返します。 yii\console\Application
coreComponents() コアアプリケーションコンポーネントの設定を返します。 yii\console\Application
createController() 指定されたルートに基づいてコントローラーインスタンスを作成します。 yii\base\Module
createControllerByID() 指定されたコントローラーIDに基づいてコントローラーを作成します。 yii\base\Module
detachBehavior() コンポーネントからビヘイビアをデタッチします。 yii\base\Component
detachBehaviors() コンポーネントからすべてのビヘイビアをデタッチします。 yii\base\Component
end() アプリケーションを終了します。 yii\base\Application
ensureBehaviors() behaviors() で宣言されたビヘイビアがこのコンポーネントにアタッチされていることを確認します。 yii\base\Component
get() 指定されたIDのコンポーネントインスタンスを返します。 yii\base\Module
getAssetManager() アセットマネージャーを返します。 yii\base\Application
getAuthManager() このアプリケーションの認証マネージャーを返します。 yii\base\Application
getBasePath() モジュールのルートディレクトリを返します。 yii\base\Module
getBehavior() 指定された名前のビヘイビアオブジェクトを返します。 yii\base\Component
getBehaviors() このコンポーネントにアタッチされたすべてのビヘイビアを返します。 yii\base\Component
getCache() キャッシュコンポーネントを返します。 yii\base\Application
getComponents() コンポーネント定義のリスト、またはロードされたコンポーネントインスタンスを返します。 yii\di\ServiceLocator
getControllerPath() $controllerNamespace に従って、コントローラークラスを含むディレクトリを返します。 yii\base\Module
getDb() データベース接続コンポーネントを返します。 yii\base\Application
getErrorHandler() エラーハンドラーコンポーネントを返します。 yii\console\Application
getFormatter() フォーマッターコンポーネントを返します。 yii\base\Application
getI18n() 国際化(i18n)コンポーネントを返します。 yii\base\Application
getInstance() 現在リクエストされているこのモジュールクラスのインスタンスを返します。 yii\base\Module
getLayoutPath() このモジュールのレイアウトビューファイルを含むディレクトリを返します。 yii\base\Module
getLog() ログディスパッチャーコンポーネントを返します。 yii\base\Application
getMailer() メーラーコンポーネントを返します。 yii\base\Application
getModule() 指定されたIDの子モジュールを取得します。 yii\base\Module
getModules() このモジュール内のサブモジュールを返します。 yii\base\Module
getRequest() リクエストコンポーネントを返します。 yii\console\Application
getResponse() レスポンスコンポーネントを返します。 yii\console\Application
getRuntimePath() ランタイムファイルを保存するディレクトリを返します。 yii\base\Application
getSecurity() セキュリティコンポーネントを返します。 yii\base\Application
getTimeZone() このアプリケーションで使用されるタイムゾーンを返します。 yii\base\Application
getUniqueId() 現在のアプリケーション内のすべてのモジュールの中でこのモジュールを一意に識別するIDを返します。 yii\base\Application
getUrlManager() このアプリケーションのURLマネージャーを返します。 yii\base\Application
getVendorPath() ベンダーファイルを保存するディレクトリを返します。 yii\base\Application
getVersion() 現在のモジュールのバージョンを返します。 yii\base\Module
getView() ビューオブジェクトを返します。 yii\base\Application
getViewPath() このモジュールのビューファイルを含むディレクトリを返します。 yii\base\Module
handleRequest() 指定されたリクエストを処理します。 yii\console\Application
has() ロケーターが指定されたコンポーネント定義を持っているか、コンポーネントをインスタンス化したかどうかを示す値を返します。 yii\base\Module
hasEventHandlers() 指定された名前のイベントにハンドラーがアタッチされているかどうかを示す値を返します。 yii\base\Component
hasMethod() メソッドが定義されているかどうかを示す値を返します。 yii\base\Component
hasModule() 指定されたIDの子モジュールが存在するかどうかを確認します。 yii\base\Module
hasProperty() このコンポーネントにプロパティが定義されているかどうかを示す値を返します。 yii\base\Component
init() アプリケーションを初期化します。 yii\console\Application
off() 既存のイベントハンドラーをこのコンポーネントからデタッチします。 yii\base\Component
on() イベントにイベントハンドラーをアタッチします。 yii\base\Component
preInit() アプリケーションを事前初期化します。 yii\base\Application
run() アプリケーションを実行します。 yii\base\Application
runAction() ルートで指定されたコントローラーアクションを実行します。 yii\console\Application
set() このロケーターにコンポーネント定義を登録します。 yii\di\ServiceLocator
setAliases() パスエイリアスを定義します。 yii\base\Module
setBasePath() アプリケーションのルートディレクトリと @app エイリアスを設定します。 yii\base\Application
setComponents() このロケーターにコンポーネント定義のセットを登録します。 yii\di\ServiceLocator
setContainer() Yii::$container を $config で設定します。 yii\base\Application
setControllerPath() コントローラークラスを含むディレクトリを設定します。 yii\base\Module
setInstance() 現在リクエストされているこのモジュールクラスのインスタンスを設定します。 yii\base\Module
setLayoutPath() レイアウトファイルを含むディレクトリを設定します。 yii\base\Module
setModule() このモジュールにサブモジュールを追加します。 yii\base\Module
setModules() 現在のモジュールにサブモジュールを登録します。 yii\base\Module
setRuntimePath() ランタイムファイルを保存するディレクトリを設定します。 yii\base\Application
setTimeZone() このアプリケーションで使用されるタイムゾーンを設定します。 yii\base\Application
setVendorPath() ベンダーファイルを保存するディレクトリを設定します。 yii\base\Application
setVersion() 現在のモジュールのバージョンを設定します。 yii\base\Module
setViewPath() ビューファイルを含むディレクトリを設定します。 yii\base\Module
trigger() イベントをトリガーします。 yii\base\Component

保護されたメソッド

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

メソッド 説明 定義元
bootstrap() 拡張機能を初期化し、ブートストラップコンポーネントを実行します。 yii\base\Application
defaultVersion() デフォルトのモジュールバージョンを返します。 yii\base\Module
loadConfig() 設定をロードします。 yii\console\Application
registerErrorHandler() errorHandler コンポーネントを PHP エラーハンドラーとして登録します。 yii\base\Application

イベント

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

イベント 説明 定義元
EVENT_AFTER_ACTION yii\base\ActionEvent コントローラーアクションの実行後に発生するイベント。 yii\base\Module
EVENT_AFTER_REQUEST yii\base\Event アプリケーションがリクエストを正常に処理した後に発生するイベント(レスポンスが送信される前)。 yii\base\Application
EVENT_BEFORE_ACTION yii\base\ActionEvent コントローラーアクションの実行前に発生するイベント。 yii\base\Module
EVENT_BEFORE_REQUEST yii\base\Event アプリケーションがリクエストの処理を開始する前に発生するイベント。 yii\base\Application

定数

継承された定数を非表示

定数 説明 定義元
OPTION_APPCONFIG 'appconfig' アプリケーション設定ファイルのパスを指定するためのオプション名。 yii\console\Application
STATE_AFTER_REQUEST 4 $state によって使用されるアプリケーションの状態:アプリケーションが EVENT_AFTER_REQUEST をトリガーしています。。 yii\base\Application
STATE_BEFORE_REQUEST 2 $state によって使用されるアプリケーションの状態:アプリケーションが EVENT_BEFORE_REQUEST をトリガーしています。 yii\base\Application
STATE_BEGIN 0 $state によって使用されるアプリケーションの状態:アプリケーションが開始されたばかり。 yii\base\Application
STATE_END 6 $state によって使用されるアプリケーションの状態:アプリケーションが終了しました。 yii\base\Application
STATE_HANDLING_REQUEST 3 $state によって使用されるアプリケーションの状態:アプリケーションがリクエストを処理中です。 yii\base\Application
STATE_INIT 1 $state によって使用されるアプリケーションの状態:アプリケーションが初期化中です。 yii\base\Application
STATE_SENDING_RESPONSE 5 $state によって使用されるアプリケーションの状態:アプリケーションがレスポンスを送信しようとしています。 yii\base\Application

プロパティの詳細

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

$controller public property

現在アクティブなコントローラーインスタンス

$defaultRoute public property

このアプリケーションのデフォルトルート。デフォルトは「help」で、helpコマンドを意味します。

public string $defaultRoute 'help'
$enableCoreCommands public property

コアフレームワークによって提供されるコマンドを有効にするかどうか。デフォルトはtrueです。

$errorHandler public property

エラーハンドラーアプリケーションコンポーネント。

$request public プロパティ

リクエストコンポーネント。

$response public プロパティ

レスポンスコンポーネント。

メソッド詳細

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

__call() public メソッド

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

クラスメソッドではない、指定された名前のメソッドを呼び出します。

このメソッドは、アタッチされたビヘイビアに指定された名前のメソッドがあるかどうかをチェックし、もしあればそれを実行します。

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

public mixed __call ( $name, $params )
$name 文字列

メソッド名

$params 配列

メソッドのパラメータ

戻り値 mixed

メソッドの戻り値

throws yii\base\UnknownMethodException

未知のメソッドを呼び出した場合

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

            
__clone() public メソッド

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

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

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

public void __clone ( )

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

            
__construct() public メソッド

コンストラクタ。

public void __construct ( $config = [] )
$config 配列

オブジェクトのプロパティを初期化するために使用される名前と値のペア。構成には、$id$basePathの両方を含める必要があることに注意してください。

throws yii\base\InvalidConfigException

$idまたは$basePathの構成が欠落している場合。

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

            
__get() public メソッド

定義元: yii\di\ServiceLocator::__get()

ゲッターマジックメソッド。

このメソッドは、プロパティを読み取るようにコンポーネントにアクセスすることをサポートするためにオーバーライドされます。

public mixed __get ( $name )
$name 文字列

コンポーネントまたはプロパティ名

戻り値 mixed

指定されたプロパティの値

                public function __get($name)
{
    if ($this->has($name)) {
        return $this->get($name);
    }
    return parent::__get($name);
}

            
__isset() public メソッド

定義元: yii\di\ServiceLocator::__isset()

プロパティの値が null かどうかをチェックします。

このメソッドは、指定されたコンポーネントがロードされているかどうかをチェックすることにより、親の実装をオーバーライドします。

public boolean __isset ( $name )
$name 文字列

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

戻り値 ブール値

プロパティ値がnullかどうか

                public function __isset($name)
{
    if ($this->has($name)) {
        return true;
    }
    return parent::__isset($name);
}

            
__set() public メソッド

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

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

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

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

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

参照: __get().

public void __set ( $name, $value )
$name 文字列

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

$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 文字列

プロパティ名

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

            
afterAction() public メソッド

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

            
attachBehavior() public メソッド

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

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

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

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

public yii\base\Behavior attachBehavior ( $name, $behavior )
$name 文字列

ビヘイビアの名前。

$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 配列

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

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

            
beforeAction() public メソッド

定義元: yii\base\Module::beforeAction()

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

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

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

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

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

    // your custom code here

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

実行されるアクション。

戻り値 ブール値

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

                public function beforeAction($action)
{
    $event = new ActionEvent($action);
    $this->trigger(self::EVENT_BEFORE_ACTION, $event);
    return $event->isValid;
}

            
behaviors() public メソッド

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

このコンポーネントが動作すべきビヘイビアのリストを返します。

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

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

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

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

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

public array behaviors ( )
戻り値 配列

ビヘイビアの構成。

                public function behaviors()
{
    return [];
}

            
bootstrap() protected メソッド

定義元: yii\base\Application::bootstrap()

拡張機能を初期化し、ブートストラップコンポーネントを実行します。

このメソッドは、アプリケーションが完全に構成された後、init()によって呼び出されます。このメソッドをオーバーライドする場合は、親の実装も必ず呼び出してください。

protected void bootstrap ( )

                protected function bootstrap()
{
    if ($this->extensions === null) {
        $file = Yii::getAlias('@vendor/yiisoft/extensions.php');
        $this->extensions = is_file($file) ? include $file : [];
    }
    foreach ($this->extensions as $extension) {
        if (!empty($extension['alias'])) {
            foreach ($extension['alias'] as $name => $path) {
                Yii::setAlias($name, $path);
            }
        }
        if (isset($extension['bootstrap'])) {
            $component = Yii::createObject($extension['bootstrap']);
            if ($component instanceof BootstrapInterface) {
                Yii::debug('Bootstrap with ' . get_class($component) . '::bootstrap()', __METHOD__);
                $component->bootstrap($this);
            } else {
                Yii::debug('Bootstrap with ' . get_class($component), __METHOD__);
            }
        }
    }
    foreach ($this->bootstrap as $mixed) {
        $component = null;
        if ($mixed instanceof \Closure) {
            Yii::debug('Bootstrap with Closure', __METHOD__);
            if (!$component = call_user_func($mixed, $this)) {
                continue;
            }
        } elseif (is_string($mixed)) {
            if ($this->has($mixed)) {
                $component = $this->get($mixed);
            } elseif ($this->hasModule($mixed)) {
                $component = $this->getModule($mixed);
            } elseif (strpos($mixed, '\\') === false) {
                throw new InvalidConfigException("Unknown bootstrapping component ID: $mixed");
            }
        }
        if (!isset($component)) {
            $component = Yii::createObject($mixed);
        }
        if ($component instanceof BootstrapInterface) {
            Yii::debug('Bootstrap with ' . get_class($component) . '::bootstrap()', __METHOD__);
            $component->bootstrap($this);
        } else {
            Yii::debug('Bootstrap with ' . get_class($component), __METHOD__);
        }
    }
}

            
canGetProperty() public メソッド

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

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

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

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

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

public boolean canGetProperty ( $name, $checkVars true, $checkBehaviors true )
$name 文字列

プロパティ名

$checkVars ブール値

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

$checkBehaviors ブール値

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

戻り値 ブール値

プロパティを読み取ることができるかどうか

                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 文字列

プロパティ名

$checkVars ブール値

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

$checkBehaviors ブール値

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

戻り値 ブール値

プロパティを書き込むことができるかどうか

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

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

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

            
clear() public メソッド

定義場所: yii\di\ServiceLocator::clear()

ロケーターからコンポーネントを削除します。

public void clear ( $id )
$id 文字列

コンポーネントID

                public function clear($id)
{
    unset($this->_definitions[$id], $this->_components[$id]);
}

            
coreCommands() public メソッド

組み込みコマンドの設定を返します。

public array coreCommands ( )
戻り値 配列

組み込みコマンドの設定。

                public function coreCommands()
{
    return [
        'asset' => 'yii\console\controllers\AssetController',
        'cache' => 'yii\console\controllers\CacheController',
        'fixture' => 'yii\console\controllers\FixtureController',
        'help' => 'yii\console\controllers\HelpController',
        'message' => 'yii\console\controllers\MessageController',
        'migrate' => 'yii\console\controllers\MigrateController',
        'serve' => 'yii\console\controllers\ServeController',
    ];
}

            
coreComponents() public メソッド

コアアプリケーションコンポーネントの設定を返します。

public array coreComponents ( )

                public function coreComponents()
{
    return array_merge(parent::coreComponents(), [
        'request' => ['class' => 'yii\console\Request'],
        'response' => ['class' => 'yii\console\Response'],
        'errorHandler' => ['class' => 'yii\console\ErrorHandler'],
    ]);
}

            
createController() public メソッド

定義場所: yii\base\Module::createController()

指定されたルートに基づいてコントローラーインスタンスを作成します。

ルートはこのモジュールに対して相対的である必要があります。このメソッドは、与えられたルートを解決するために次のアルゴリズムを実装します。

  1. ルートが空の場合、$defaultRouteを使用します。
  2. ルートの最初のセグメントが$controllerMapで見つかった場合、$controllerMapにある対応する設定に基づいてコントローラーを作成します。
  3. ルートの最初のセグメントが$modulesで宣言されている有効なモジュールIDである場合、モジュールのcreateController()をルートの残りの部分で呼び出します。
  4. 指定されたルートは、abc/def/xyzの形式です。コントローラー名前空間内で、abc\DefControllerまたはabc\def\XyzControllerクラスを試します。

上記の手順のいずれかがコントローラーに解決されると、アクションIDとして扱われるルートの残りの部分とともに返されます。それ以外の場合は、falseが返されます。

public array|boolean createController ( $route )
$route 文字列

モジュール、コントローラー、およびアクションIDで構成されるルート。

戻り値 array|boolean

コントローラーが正常に作成された場合、要求されたアクションIDとともに返されます。それ以外の場合はfalseが返されます。

throws yii\base\InvalidConfigException

コントローラークラスとそのファイルが一致しない場合。

                public function createController($route)
{
    if ($route === '') {
        $route = $this->defaultRoute;
    }
    // double slashes or leading/ending slashes may cause substr problem
    $route = trim($route, '/');
    if (strpos($route, '//') !== false) {
        return false;
    }
    if (strpos($route, '/') !== false) {
        list($id, $route) = explode('/', $route, 2);
    } else {
        $id = $route;
        $route = '';
    }
    // module and controller map take precedence
    if (isset($this->controllerMap[$id])) {
        $controller = Yii::createObject($this->controllerMap[$id], [$id, $this]);
        return [$controller, $route];
    }
    $module = $this->getModule($id);
    if ($module !== null) {
        return $module->createController($route);
    }
    if (($pos = strrpos($route, '/')) !== false) {
        $id .= '/' . substr($route, 0, $pos);
        $route = substr($route, $pos + 1);
    }
    $controller = $this->createControllerByID($id);
    if ($controller === null && $route !== '') {
        $controller = $this->createControllerByID($id . '/' . $route);
        $route = '';
    }
    return $controller === null ? false : [$controller, $route];
}

            
createControllerByID() public メソッド

定義場所: yii\base\Module::createControllerByID()

指定されたコントローラーIDに基づいてコントローラーを作成します。

コントローラーIDはこのモジュールに対して相対的です。コントローラークラスは$controllerNamespaceの下に名前空間化される必要があります。

このメソッドは、$modulesまたは$controllerMapをチェックしないことに注意してください。

public yii\base\Controller|null createControllerByID ( $id )
$id 文字列

コントローラーID。

戻り値 yii\base\Controller|null

新しく作成されたコントローラーインスタンス、またはコントローラーIDが無効な場合はnull

throws yii\base\InvalidConfigException

コントローラークラスとそのファイル名が一致しない場合。この例外は、デバッグモードの場合にのみスローされます。

                public function createControllerByID($id)
{
    $pos = strrpos($id, '/');
    if ($pos === false) {
        $prefix = '';
        $className = $id;
    } else {
        $prefix = substr($id, 0, $pos + 1);
        $className = substr($id, $pos + 1);
    }
    if ($this->isIncorrectClassNameOrPrefix($className, $prefix)) {
        return null;
    }
    $className = preg_replace_callback('%-([a-z0-9_])%i', function ($matches) {
            return ucfirst($matches[1]);
    }, ucfirst($className)) . 'Controller';
    $className = ltrim($this->controllerNamespace . '\\' . str_replace('/', '\\', $prefix) . $className, '\\');
    if (strpos($className, '-') !== false || !class_exists($className)) {
        return null;
    }
    if (is_subclass_of($className, 'yii\base\Controller')) {
        $controller = Yii::createObject($className, [$id, $this]);
        return get_class($controller) === $className ? $controller : null;
    } elseif (YII_DEBUG) {
        throw new InvalidConfigException('Controller class must extend from \\yii\\base\\Controller.');
    }
    return null;
}

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

定義場所: yii\base\Module::defaultVersion()

デフォルトのモジュールバージョンを返します。

子クラスは、より具体的なバージョンの検出を提供するために、このメソッドをオーバーライドできます。

protected string defaultVersion ( )
戻り値 文字列

このモジュールのバージョン。

                protected function defaultVersion()
{
    if ($this->module === null) {
        return '1.0';
    }
    return $this->module->getVersion();
}

            
detachBehavior() public メソッド

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

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

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

public yii\base\Behavior|null detachBehavior ( $name )
$name 文字列

ビヘイビアの名前。

戻り値 yii\base\Behavior|null

切り離されたビヘイビア。ビヘイビアが存在しない場合はNull。

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

            
detachBehaviors() public メソッド

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

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

public void detachBehaviors ( )

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

            
end() public メソッド

定義場所: yii\base\Application::end()

アプリケーションを終了します。

このメソッドは、アプリケーションが終了する前にアプリケーションのライフサイクルが完了することを保証することにより、exit()関数を置き換えます。

public void end ( $status 0, $response null )
$status 整数

終了ステータス(値0は正常終了を意味し、他の値は異常終了を意味します)。

$response yii\base\Response|null

送信されるレスポンス。設定されていない場合、デフォルトのアプリケーション$responseコンポーネントが使用されます。

throws yii\base\ExitException

アプリケーションがテストモードの場合

                public function end($status = 0, $response = null)
{
    if ($this->state === self::STATE_BEFORE_REQUEST || $this->state === self::STATE_HANDLING_REQUEST) {
        $this->state = self::STATE_AFTER_REQUEST;
        $this->trigger(self::EVENT_AFTER_REQUEST);
    }
    if ($this->state !== self::STATE_SENDING_RESPONSE && $this->state !== self::STATE_END) {
        $this->state = self::STATE_END;
        $response = $response ?: $this->getResponse();
        $response->send();
    }
    if (YII_ENV_TEST) {
        throw new ExitException($status);
    }
    exit($status);
}

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

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

定義元: yii\base\Module::get()

指定されたIDのコンポーネントインスタンスを返します。

バージョン 2.0.13 以降、モジュール内でコンポーネントが定義されていない場合、親モジュールで検索されます。親モジュールはアプリケーションである可能性があります。

public object|null get ( $id, $throwException true )
$id 文字列

コンポーネント ID (例: db)。

$throwException ブール値

$id がロケーターに登録されていない場合に例外をスローするかどうか。

戻り値 object|null

指定された ID のコンポーネント。$throwException が false で、$id が以前に登録されていない場合は、null が返されます。

throws yii\base\InvalidConfigException

$id が存在しないコンポーネント ID を参照する場合

                public function get($id, $throwException = true)
{
    if (!isset($this->module)) {
        return parent::get($id, $throwException);
    }
    $component = parent::get($id, false);
    if ($component === null) {
        $component = $this->module->get($id, $throwException);
    }
    return $component;
}

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

定義元: yii\base\Application::getAssetManager()

アセットマネージャーを返します。

public yii\web\AssetManager getAssetManager ( )
戻り値 yii\web\AssetManager

アセットマネージャーアプリケーションコンポーネント。

                public function getAssetManager()
{
    return $this->get('assetManager');
}

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

定義元: yii\base\Application::getAuthManager()

このアプリケーションの認証マネージャーを返します。

public yii\rbac\ManagerInterface|null getAuthManager ( )
戻り値 yii\rbac\ManagerInterface|null

認証マネージャーアプリケーションコンポーネント。設定されていない場合は null。

                public function getAuthManager()
{
    return $this->get('authManager', false);
}

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

定義元: yii\base\Module::getBasePath()

モジュールのルートディレクトリを返します。

デフォルトでは、モジュールクラスファイルを含むディレクトリになります。

public string getBasePath ( )
戻り値 文字列

モジュールのルートディレクトリ。

                public function getBasePath()
{
    if ($this->_basePath === null) {
        $class = new \ReflectionClass($this);
        $this->_basePath = dirname($class->getFileName());
    }
    return $this->_basePath;
}

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

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

指定された名前のビヘイビアオブジェクトを返します。

public yii\base\Behavior|null getBehavior ( $name )
$name 文字列

ビヘイビア名

戻り値 yii\base\Behavior|null

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

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

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

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

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

public yii\base\Behavior[] getBehaviors ( )
戻り値 yii\base\Behavior[]

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

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

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

定義元: yii\base\Application::getCache()

キャッシュコンポーネントを返します。

public yii\caching\CacheInterface|null getCache ( )
戻り値 yii\caching\CacheInterface|null

キャッシュアプリケーションコンポーネント。コンポーネントが無効の場合は Null。

                public function getCache()
{
    return $this->get('cache', false);
}

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

定義元: yii\di\ServiceLocator::getComponents()

コンポーネント定義のリスト、またはロードされたコンポーネントインスタンスを返します。

public array getComponents ( $returnDefinitions true )
$returnDefinitions ブール値

ロードされたコンポーネントインスタンスの代わりに、コンポーネント定義を返すかどうか。

戻り値 配列

コンポーネント定義またはロードされたコンポーネントインスタンスのリスト (ID => 定義またはインスタンス)。

                public function getComponents($returnDefinitions = true)
{
    return $returnDefinitions ? $this->_definitions : $this->_components;
}

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

定義元: yii\base\Module::getControllerPath()

$controllerNamespace に従って、コントローラークラスを含むディレクトリを返します。

このメソッドが値を返すには、$controllerNamespace のルート名前空間のエイリアスを定義する必要があることに注意してください。

public string getControllerPath ( )
戻り値 文字列

コントローラークラスを含むディレクトリ。

throws yii\base\InvalidArgumentException

$controllerNamespace のルート名前空間にエイリアスが定義されていない場合。

                public function getControllerPath()
{
    if ($this->_controllerPath === null) {
        $this->_controllerPath = Yii::getAlias('@' . str_replace('\\', '/', $this->controllerNamespace));
    }
    return $this->_controllerPath;
}

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

定義元: yii\base\Application::getDb()

データベース接続コンポーネントを返します。

public yii\db\Connection getDb ( )
戻り値 yii\db\Connection

データベース接続。

                public function getDb()
{
    return $this->get('db');
}

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

エラーハンドラーコンポーネントを返します。

public yii\console\ErrorHandler getErrorHandler ( )
戻り値 yii\console\ErrorHandler

エラーハンドラーアプリケーションコンポーネント。

                public function getErrorHandler()
{
    return $this->get('errorHandler');
}

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

定義元: yii\base\Application::getFormatter()

フォーマッターコンポーネントを返します。

public yii\i18n\Formatter getFormatter ( )
戻り値 yii\i18n\Formatter

フォーマッターアプリケーションコンポーネント。

                public function getFormatter()
{
    return $this->get('formatter');
}

            
getI18n() public メソッド

定義場所: yii\base\Application::getI18n()

国際化(i18n)コンポーネントを返します。

public yii\i18n\I18N getI18n ( )
戻り値 yii\i18n\I18N

国際化アプリケーションコンポーネント。

                public function getI18n()
{
    return $this->get('i18n');
}

            
getInstance() public static メソッド

定義場所: yii\base\Module::getInstance()

現在リクエストされているこのモジュールクラスのインスタンスを返します。

モジュールクラスが現在リクエストされていない場合、null が返されます。このメソッドは、モジュール内のどこからでもモジュールインスタンスにアクセスできるようにするために提供されています。

public static static|null getInstance ( )
戻り値 yii\base\Module|null

このモジュールクラスの現在リクエストされているインスタンス。モジュールクラスがリクエストされていない場合は null

                public static function getInstance()
{
    $class = get_called_class();
    return isset(Yii::$app->loadedModules[$class]) ? Yii::$app->loadedModules[$class] : null;
}

            
getLayoutPath() public メソッド

定義場所: yii\base\Module::getLayoutPath()

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

public string getLayoutPath ( )
戻り値 文字列

レイアウトファイルのルートディレクトリ。デフォルトは "$viewPath/layouts" です。

                public function getLayoutPath()
{
    if ($this->_layoutPath === null) {
        $this->_layoutPath = $this->getViewPath() . DIRECTORY_SEPARATOR . 'layouts';
    }
    return $this->_layoutPath;
}

            
getLog() public メソッド

定義場所: yii\base\Application::getLog()

ログディスパッチャーコンポーネントを返します。

public yii\log\Dispatcher getLog ( )
戻り値 yii\log\Dispatcher

ログディスパッチャーアプリケーションコンポーネント。

                public function getLog()
{
    return $this->get('log');
}

            
getMailer() public メソッド

定義場所: yii\base\Application::getMailer()

メーラーコンポーネントを返します。

public yii\mail\MailerInterface getMailer ( )
戻り値 yii\mail\MailerInterface

メーラーアプリケーションコンポーネント。

throws yii\base\InvalidConfigException

このコンポーネントが設定されていない場合。

                public function getMailer()
{
    return $this->get('mailer');
}

            
getModule() public メソッド

定義場所: yii\base\Module::getModule()

指定されたIDの子モジュールを取得します。

このメソッドは、子モジュールと孫モジュールの両方の取得をサポートします。

参照: hasModule()

public yii\base\Module|null getModule ( $id, $load true )
$id 文字列

モジュールID (大文字と小文字を区別)。孫モジュールを取得するには、このモジュールからの相対的なIDパスを使用します (例: admin/content)。

$load ブール値

モジュールがまだロードされていない場合にロードするかどうか。

戻り値 yii\base\Module|null

モジュールインスタンス。モジュールが存在しない場合は null

                public function getModule($id, $load = true)
{
    if (($pos = strpos($id, '/')) !== false) {
        // sub-module
        $module = $this->getModule(substr($id, 0, $pos));
        return $module === null ? null : $module->getModule(substr($id, $pos + 1), $load);
    }
    if (isset($this->_modules[$id])) {
        if ($this->_modules[$id] instanceof self) {
            return $this->_modules[$id];
        } elseif ($load) {
            Yii::debug("Loading module: $id", __METHOD__);
            /* @var $module Module */
            $module = Yii::createObject($this->_modules[$id], [$id, $this]);
            $module::setInstance($module);
            return $this->_modules[$id] = $module;
        }
    }
    return null;
}

            
getModules() public メソッド

定義場所: yii\base\Module::getModules()

このモジュール内のサブモジュールを返します。

public array getModules ( $loadedOnly false )
$loadedOnly ブール値

ロード済みのサブモジュールのみを返すかどうか。これが false に設定されている場合、このモジュールに登録されているすべてのサブモジュールが、ロードされているかどうかにかかわらず返されます。ロード済みのモジュールはオブジェクトとして返され、ロードされていないモジュールは構成配列として返されます。

戻り値 配列

モジュール(IDでインデックス付け)。

                public function getModules($loadedOnly = false)
{
    if ($loadedOnly) {
        $modules = [];
        foreach ($this->_modules as $module) {
            if ($module instanceof self) {
                $modules[] = $module;
            }
        }
        return $modules;
    }
    return $this->_modules;
}

            
getRequest() public メソッド

リクエストコンポーネントを返します。

public yii\console\Request getRequest ( )
戻り値 yii\console\Request

リクエストコンポーネント。

                public function getRequest()
{
    return $this->get('request');
}

            
getResponse() public メソッド

レスポンスコンポーネントを返します。

public yii\console\Response getResponse ( )
戻り値 yii\console\Response

レスポンスコンポーネント。

                public function getResponse()
{
    return $this->get('response');
}

            
getRuntimePath() public メソッド

定義場所: yii\base\Application::getRuntimePath()

ランタイムファイルを保存するディレクトリを返します。

public string getRuntimePath ( )
戻り値 文字列

ランタイムファイルを保存するディレクトリ。デフォルトは $basePath の下の "runtime" サブディレクトリです。

                public function getRuntimePath()
{
    if ($this->_runtimePath === null) {
        $this->setRuntimePath($this->getBasePath() . DIRECTORY_SEPARATOR . 'runtime');
    }
    return $this->_runtimePath;
}

            
getSecurity() public メソッド

定義場所: yii\base\Application::getSecurity()

セキュリティコンポーネントを返します。

public yii\base\Security getSecurity ( )
戻り値 yii\base\Security

セキュリティアプリケーションコンポーネント。

                public function getSecurity()
{
    return $this->get('security');
}

            
getTimeZone() public メソッド

定義場所: yii\base\Application::getTimeZone()

このアプリケーションで使用されるタイムゾーンを返します。

これはPHP関数 date_default_timezone_get() の簡単なラッパーです。php.ini またはアプリケーション構成でタイムゾーンが設定されていない場合、デフォルトで UTC に設定されます。

参照: https://www.php.net/manual/en/function.date-default-timezone-get.php

public string getTimeZone ( )
戻り値 文字列

このアプリケーションで使用されるタイムゾーン。

                public function getTimeZone()
{
    return date_default_timezone_get();
}

            
getUniqueId() public メソッド

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

現在のアプリケーション内のすべてのモジュールの中でこのモジュールを一意に識別するIDを返します。

これはアプリケーションインスタンスであるため、常に空の文字列を返します。

public string getUniqueId ( )
戻り値 文字列

モジュールの一意のID。

                public function getUniqueId()
{
    return '';
}

            
getUrlManager() public メソッド

定義元: yii\base\Application::getUrlManager()

このアプリケーションのURLマネージャーを返します。

public yii\web\UrlManager getUrlManager ( )
戻り値 yii\web\UrlManager

このアプリケーションのURLマネージャー。

                public function getUrlManager()
{
    return $this->get('urlManager');
}

            
getVendorPath() public メソッド

定義元: yii\base\Application::getVendorPath()

ベンダーファイルを保存するディレクトリを返します。

public string getVendorPath ( )
戻り値 文字列

ベンダーファイルを保存するディレクトリ。デフォルトは$basePathの下の"vendor"ディレクトリです。

                public function getVendorPath()
{
    if ($this->_vendorPath === null) {
        $this->setVendorPath($this->getBasePath() . DIRECTORY_SEPARATOR . 'vendor');
    }
    return $this->_vendorPath;
}

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

定義元: yii\base\Module::getVersion()

現在のモジュールのバージョンを返します。

バージョンが明示的に設定されていない場合、defaultVersion()メソッドを使用してその値を決定します。

public string getVersion ( )
戻り値 文字列

このモジュールのバージョン。

                public function getVersion()
{
    if ($this->_version === null) {
        $this->_version = $this->defaultVersion();
    } else {
        if (!is_scalar($this->_version)) {
            $this->_version = call_user_func($this->_version, $this);
        }
    }
    return $this->_version;
}

            
getView() public メソッド

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

ビューオブジェクトを返します。

public yii\base\View|yii\web\View getView ( )
戻り値 yii\base\View|yii\web\View

さまざまなビューファイルをレンダリングするために使用されるビューアプリケーションコンポーネント。

                public function getView()
{
    return $this->get('view');
}

            
getViewPath() public メソッド

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

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

public string getViewPath ( )
戻り値 文字列

ビューファイルのルートディレクトリ。デフォルトは"$basePath/views"です。

                public function getViewPath()
{
    if ($this->_viewPath === null) {
        $this->_viewPath = $this->getBasePath() . DIRECTORY_SEPARATOR . 'views';
    }
    return $this->_viewPath;
}

            
handleRequest() public メソッド

指定されたリクエストを処理します。

public yii\console\Response handleRequest ( $request )
$request yii\console\Request

処理されるリクエスト

戻り値 yii\console\Response

結果として得られるレスポンス

                public function handleRequest($request)
{
    list($route, $params) = $request->resolve();
    $this->requestedRoute = $route;
    $result = $this->runAction($route, $params);
    if ($result instanceof Response) {
        return $result;
    }
    $response = $this->getResponse();
    $response->exitStatus = $result;
    return $response;
}

            
has() public メソッド

定義元: yii\base\Module::has()

ロケーターが指定されたコンポーネント定義を持っているか、コンポーネントをインスタンス化したかどうかを示す値を返します。

バージョン 2.0.13 以降、モジュール内でコンポーネントが定義されていない場合、親モジュールで検索されます。親モジュールはアプリケーションである可能性があります。

このメソッドは、$checkInstanceの値に応じて異なる結果を返す場合があります。

  • $checkInstanceがfalse(デフォルト)の場合、メソッドはロケータが指定されたコンポーネント定義を持っているかどうかを示す値を返します。
  • $checkInstanceがtrueの場合、メソッドはロケータが指定されたコンポーネントをインスタンス化したかどうかを示す値を返します。
public boolean has ( $id, $checkInstance false )
$id 文字列

コンポーネント ID (例: db)。

$checkInstance ブール値

メソッドがコンポーネントが共有されていてインスタンス化されているかどうかを確認する必要があるかどうか。

戻り値 ブール値

ロケータが指定されたコンポーネント定義を持っているか、コンポーネントをインスタンス化したかどうか。

                public function has($id, $checkInstance = false)
{
    return parent::has($id, $checkInstance) || (isset($this->module) && $this->module->has($id, $checkInstance));
}

            
hasEventHandlers() public メソッド

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

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

public boolean hasEventHandlers ( $name )
$name 文字列

イベント名

戻り値 ブール値

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

                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 文字列

プロパティ名

$checkBehaviors ブール値

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

戻り値 ブール値

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

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

            
hasModule() public メソッド

定義元: yii\base\Module::hasModule()

指定されたIDの子モジュールが存在するかどうかを確認します。

このメソッドは、子モジュールと孫モジュールの両方の存在を確認することをサポートしています。

public boolean hasModule ( $id )
$id 文字列

モジュールID。孫モジュールの場合は、このモジュールに対する相対的なIDパス(例:admin/content)を使用します。

戻り値 ブール値

指定された名前のモジュールが存在するかどうか。ロード済みのモジュールとアンロード済みのモジュールの両方が考慮されます。

                public function hasModule($id)
{
    if (($pos = strpos($id, '/')) !== false) {
        // sub-module
        $module = $this->getModule(substr($id, 0, $pos));
        return $module === null ? false : $module->hasModule(substr($id, $pos + 1));
    }
    return isset($this->_modules[$id]);
}

            
hasProperty() public メソッド

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

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

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

  • 指定された名前に関連付けられた getter または setter メソッドがクラスに存在する場合 (この場合、プロパティ名はケースを区別しません)。
  • クラスに、指定された名前のメンバ変数がある場合($checkVarsがtrueの場合)。
  • $checkBehaviors が true の場合)アタッチされたビヘイビアが指定された名前のプロパティを持っている場合。

こちらも参照

public boolean hasProperty ( $name, $checkVars true, $checkBehaviors true )
$name 文字列

プロパティ名

$checkVars ブール値

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

$checkBehaviors ブール値

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

戻り値 ブール値

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

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

            
init() public メソッド

アプリケーションを初期化します。

public void init ( )

                public function init()
{
    parent::init();
    if ($this->enableCoreCommands) {
        foreach ($this->coreCommands() as $id => $command) {
            if (!isset($this->controllerMap[$id])) {
                $this->controllerMap[$id] = $command;
            }
        }
    }
    // ensure we have the 'help' command so that we can list the available commands
    if (!isset($this->controllerMap['help'])) {
        $this->controllerMap['help'] = 'yii\console\controllers\HelpController';
    }
}

            
loadConfig() protected メソッド

設定をロードします。

このメソッドは、コマンドラインオプション OPTION_APPCONFIG が指定されているかどうかをチェックします。指定されている場合は、対応するファイルがアプリケーション設定としてロードされます。指定されていない場合は、パラメータとして提供された設定がそのまま返されます。

protected array loadConfig ( $config )
$config 配列

コンストラクタで提供された設定。

戻り値 配列

アプリケーションで使用される実際の設定。

                protected function loadConfig($config)
{
    if (!empty($_SERVER['argv'])) {
        $option = '--' . self::OPTION_APPCONFIG . '=';
        foreach ($_SERVER['argv'] as $param) {
            if (strpos($param, $option) !== false) {
                $path = substr($param, strlen($option));
                if (!empty($path) && is_file($file = Yii::getAlias($path))) {
                    return require $file;
                }
                exit("The configuration file does not exist: $path\n");
            }
        }
    }
    return $config;
}

            
off() public メソッド

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

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

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

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

こちらも参照 on()

public boolean off ( $name, $handler null )
$name 文字列

イベント名

$handler callable|null

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

戻り値 ブール値

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

                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 文字列

イベント名

$handler callable

イベントハンドラ

$data mixed

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

$append ブール値

新しいイベントハンドラを既存のハンドラリストの最後に追加するかどうか。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]);
    }
}

            
preInit() public メソッド

定義元: yii\base\Application::preInit()

アプリケーションを事前初期化します。

このメソッドはアプリケーションコンストラクタの先頭で呼び出されます。いくつかの重要なアプリケーションプロパティを初期化します。このメソッドをオーバーライドする場合は、必ず親の実装を呼び出すようにしてください。

public void preInit ( &$config )
$config 配列

アプリケーション設定

throws yii\base\InvalidConfigException

$idまたは$basePathの構成が欠落している場合。

                public function preInit(&$config)
{
    if (!isset($config['id'])) {
        throw new InvalidConfigException('The "id" configuration for the Application is required.');
    }
    if (isset($config['basePath'])) {
        $this->setBasePath($config['basePath']);
        unset($config['basePath']);
    } else {
        throw new InvalidConfigException('The "basePath" configuration for the Application is required.');
    }
    if (isset($config['vendorPath'])) {
        $this->setVendorPath($config['vendorPath']);
        unset($config['vendorPath']);
    } else {
        // set "@vendor"
        $this->getVendorPath();
    }
    if (isset($config['runtimePath'])) {
        $this->setRuntimePath($config['runtimePath']);
        unset($config['runtimePath']);
    } else {
        // set "@runtime"
        $this->getRuntimePath();
    }
    if (isset($config['timeZone'])) {
        $this->setTimeZone($config['timeZone']);
        unset($config['timeZone']);
    } elseif (!ini_get('date.timezone')) {
        $this->setTimeZone('UTC');
    }
    if (isset($config['container'])) {
        $this->setContainer($config['container']);
        unset($config['container']);
    }
    // merge core components with custom components
    foreach ($this->coreComponents() as $id => $component) {
        if (!isset($config['components'][$id])) {
            $config['components'][$id] = $component;
        } elseif (is_array($config['components'][$id]) && !isset($config['components'][$id]['class'])) {
            $config['components'][$id]['class'] = $component['class'];
        }
    }
}

            
registerErrorHandler() protected メソッド

定義元: yii\base\Application::registerErrorHandler()

errorHandler コンポーネントを PHP エラーハンドラーとして登録します。

protected void registerErrorHandler ( &$config )
$config 配列

アプリケーション設定

                protected function registerErrorHandler(&$config)
{
    if (YII_ENABLE_ERROR_HANDLER) {
        if (!isset($config['components']['errorHandler']['class'])) {
            echo "Error: no errorHandler component is configured.\n";
            exit(1);
        }
        $this->set('errorHandler', $config['components']['errorHandler']);
        unset($config['components']['errorHandler']);
        $this->getErrorHandler()->register();
    }
}

            
run() public メソッド

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

アプリケーションを実行します。

これはアプリケーションのメインエントランスです。

public integer run ( )
戻り値 整数

終了ステータス (0 は正常、0 以外の値は異常)

                public function run()
{
    try {
        $this->state = self::STATE_BEFORE_REQUEST;
        $this->trigger(self::EVENT_BEFORE_REQUEST);
        $this->state = self::STATE_HANDLING_REQUEST;
        $response = $this->handleRequest($this->getRequest());
        $this->state = self::STATE_AFTER_REQUEST;
        $this->trigger(self::EVENT_AFTER_REQUEST);
        $this->state = self::STATE_SENDING_RESPONSE;
        $response->send();
        $this->state = self::STATE_END;
        return $response->exitStatus;
    } catch (ExitException $e) {
        $this->end($e->statusCode, isset($response) ? $response : null);
        return $e->statusCode;
    }
}

            
runAction() public メソッド

ルートで指定されたコントローラーアクションを実行します。

このメソッドは指定されたルートを解析し、対応する子モジュール、コントローラ、およびアクションのインスタンスを作成します。次に、yii\console\Controller::runAction() を呼び出して、指定されたパラメータでアクションを実行します。ルートが空の場合、このメソッドは $defaultRoute を使用します。

たとえば、コントローラにオプションがあることを前提として public function actionTest($a, $b) を実行するには、次のコードを使用する必要があります。

\Yii::$app->runAction('controller/test', ['option' => 'value', $a, $b]);
public integer|yii\console\Response|null runAction ( $route, $params = [] )
$route 文字列

アクションを指定するルート。

$params 配列

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

戻り値 integer|yii\console\Response|null

アクションの結果。これは終了コードまたは Response オブジェクトのいずれかになります。終了コード 0 は正常を意味し、他の値は異常を意味します。null の終了コードも 0 として扱われます。

throws yii\console\Exception

ルートが無効な場合

                public function runAction($route, $params = [])
{
    try {
        $res = parent::runAction($route, $params);
        return is_object($res) ? $res : (int) $res;
    } catch (InvalidRouteException $e) {
        throw new UnknownCommandException($route, $this, 0, $e);
    }
}

            
set() public メソッド

定義元: yii\di\ServiceLocator::set()

このロケーターにコンポーネント定義を登録します。

例:

// a class name
$locator->set('cache', 'yii\caching\FileCache');

// a configuration array
$locator->set('db', [
    'class' => 'yii\db\Connection',
    'dsn' => 'mysql:host=127.0.0.1;dbname=demo',
    'username' => 'root',
    'password' => '',
    'charset' => 'utf8',
]);

// an anonymous function
$locator->set('cache', function ($params) {
    return new \yii\caching\FileCache;
});

// an instance
$locator->set('cache', new \yii\caching\FileCache);

同じIDを持つコンポーネント定義が既に存在する場合、上書きされます。

public void set ( $id, $definition )
$id 文字列

コンポーネント ID (例: db)。

$definition mixed

このロケータに登録するコンポーネント定義。以下のいずれかになります。

  • クラス名
  • 構成配列:配列には、get() が呼び出されたときに、新しく作成されたオブジェクトのプロパティ値を初期化するために使用される名前と値のペアが含まれます。class 要素は必須であり、作成されるオブジェクトのクラスを表します。
  • PHPのcallable:匿名関数またはクラスメソッドを表す配列(例:['Foo', 'bar'])のいずれかです。callableは、get() によって呼び出され、指定されたコンポーネントIDに関連付けられたオブジェクトを返します。
  • オブジェクト:get() が呼び出されると、このオブジェクトが返されます。
throws yii\base\InvalidConfigException

定義が無効な構成配列の場合

                public function set($id, $definition)
{
    unset($this->_components[$id]);
    if ($definition === null) {
        unset($this->_definitions[$id]);
        return;
    }
    if (is_object($definition) || is_callable($definition, true)) {
        // an object, a class name, or a PHP callable
        $this->_definitions[$id] = $definition;
    } elseif (is_array($definition)) {
        // a configuration array
        if (isset($definition['__class'])) {
            $this->_definitions[$id] = $definition;
            $this->_definitions[$id]['class'] = $definition['__class'];
            unset($this->_definitions[$id]['__class']);
        } elseif (isset($definition['class'])) {
            $this->_definitions[$id] = $definition;
        } else {
            throw new InvalidConfigException("The configuration for the \"$id\" component must contain a \"class\" element.");
        }
    } else {
        throw new InvalidConfigException("Unexpected configuration type for the \"$id\" component: " . gettype($definition));
    }
}

            
setAliases() public メソッド

定義元: yii\base\Module::setAliases()

パスエイリアスを定義します。

このメソッドは、Yii::setAlias() を呼び出してパスエイリアスを登録します。このメソッドは、モジュールを構成するときにパスエイリアスを定義できるようにするために提供されています。

public void setAliases ( $aliases )
$aliases 配列

定義するパスエイリアスのリスト。配列キーはエイリアス名(@で始まる必要があります)で、配列の値は対応するパスまたはエイリアスです。たとえば、

[
    '@models' => '@app/models', // an existing alias
    '@backend' => __DIR__ . '/../backend',  // a directory
]

                public function setAliases($aliases)
{
    foreach ($aliases as $name => $alias) {
        Yii::setAlias($name, $alias);
    }
}

            
setBasePath() public メソッド

定義元: yii\base\Application::setBasePath()

アプリケーションのルートディレクトリと @app エイリアスを設定します。

このメソッドは、コンストラクタの開始時にのみ呼び出すことができます。

public void setBasePath ( $path )
$path 文字列

アプリケーションのルートディレクトリ。

throws yii\base\InvalidArgumentException

ディレクトリが存在しない場合。

                public function setBasePath($path)
{
    parent::setBasePath($path);
    Yii::setAlias('@app', $this->getBasePath());
}

            
setComponents() public メソッド

定義元: yii\di\ServiceLocator::setComponents()

このロケーターにコンポーネント定義のセットを登録します。

これは set() のバルクバージョンです。パラメータは、キーがコンポーネントIDで、値が対応するコンポーネント定義である配列である必要があります。

コンポーネントIDと定義の指定方法の詳細については、set() を参照してください。

同じIDを持つコンポーネント定義が既に存在する場合、上書きされます。

以下は、2つのコンポーネント定義を登録する例です。

[
    'db' => [
        'class' => 'yii\db\Connection',
        'dsn' => 'sqlite:path/to/file.db',
    ],
    'cache' => [
        'class' => 'yii\caching\DbCache',
        'db' => 'db',
    ],
]
public void setComponents ( $components )
$components 配列

コンポーネント定義またはインスタンス

                public function setComponents($components)
{
    foreach ($components as $id => $component) {
        $this->set($id, $component);
    }
}

            
setContainer() public メソッド (バージョン 2.0.11 以降で利用可能)

定義元: yii\base\Application::setContainer()

Yii::$container を $config で設定します。

public void setContainer ( $config )
$config 配列

名前と値のペアで指定された値

                public function setContainer($config)
{
    Yii::configure(Yii::$container, $config);
}

            
setControllerPath() public メソッド (バージョン 2.0.44 以降で利用可能)

定義元: yii\base\Module::setControllerPath()

コントローラークラスを含むディレクトリを設定します。

public void setControllerPath ( $path )
$path 文字列

コントローラクラスを含むルートディレクトリ。

throws yii\base\InvalidArgumentException

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

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

            
setInstance() public static メソッド

定義元: yii\base\Module::setInstance()

現在リクエストされているこのモジュールクラスのインスタンスを設定します。

public static void setInstance ( $instance )
$instance yii\base\Module|null

現在リクエストされているこのモジュールクラスのインスタンス。null の場合、呼び出し元のクラスのインスタンス(存在する場合)が削除されます。

                public static function setInstance($instance)
{
    if ($instance === null) {
        unset(Yii::$app->loadedModules[get_called_class()]);
    } else {
        Yii::$app->loadedModules[get_class($instance)] = $instance;
    }
}

            
setLayoutPath() public メソッド

定義元: yii\base\Module::setLayoutPath()

レイアウトファイルを含むディレクトリを設定します。

public void setLayoutPath ( $path )
$path 文字列

レイアウトファイルのルートディレクトリまたはパスエイリアス

throws yii\base\InvalidArgumentException

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

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

            
setModule() public メソッド

定義元: yii\base\Module::setModule()

このモジュールにサブモジュールを追加します。

public void setModule ( $id, $module )
$id 文字列

モジュールID。

$module yii\base\Module|配列|null

このモジュールに追加されるサブモジュール。以下のいずれかになります。

  • yii\base\Moduleオブジェクト
  • 構成配列:最初にgetModule() が呼び出されたとき、その配列はサブモジュールをインスタンス化するために使用されます
  • null:指定されたサブモジュールはこのモジュールから削除されます

                public function setModule($id, $module)
{
    if ($module === null) {
        unset($this->_modules[$id]);
    } else {
        $this->_modules[$id] = $module;
        if ($module instanceof self) {
            $module->module = $this;
        }
    }
}

            
setModules() public メソッド

定義元: yii\base\Module::setModules()

現在のモジュールにサブモジュールを登録します。

各サブモジュールは、名前と値のペアとして指定する必要があります。名前はモジュールのIDを指し、値はモジュールまたはモジュールの作成に使用できる構成配列を指します。後者の場合、Yii::createObject() がモジュールを作成するために使用されます。

新しいサブモジュールが既存のモジュールと同じIDを持つ場合、既存のモジュールは警告なしに上書きされます。

以下は、2つのサブモジュールを登録する例です。

[
    'comment' => [
        'class' => 'app\modules\comment\CommentModule',
        'db' => 'db',
    ],
    'booking' => ['class' => 'app\modules\booking\BookingModule'],
]
public void setModules ( $modules )
$modules 配列

モジュール(id => モジュール構成またはインスタンス)。

                public function setModules($modules)
{
    foreach ($modules as $id => $module) {
        $this->_modules[$id] = $module;
        if ($module instanceof self) {
            $module->module = $this;
        }
    }
}

            
setRuntimePath() public メソッド

定義元: yii\base\Application::setRuntimePath()

ランタイムファイルを保存するディレクトリを設定します。

public void setRuntimePath ( $path )
$path 文字列

ランタイムファイルを格納するディレクトリ。

                public function setRuntimePath($path)
{
    $this->_runtimePath = Yii::getAlias($path);
    Yii::setAlias('@runtime', $this->_runtimePath);
}

            
setTimeZone() public メソッド

定義元: yii\base\Application::setTimeZone()

このアプリケーションで使用されるタイムゾーンを設定します。

これはPHP関数 date_default_timezone_set() の簡単なラッパーです。利用可能なタイムゾーンについては、PHPマニュアルを参照してください。

こちらも参照してください: https://www.php.net/manual/en/function.date-default-timezone-set.php

public void setTimeZone ( $value )
$value 文字列

このアプリケーションで使用されるタイムゾーン。

                public function setTimeZone($value)
{
    date_default_timezone_set($value);
}

            
setVendorPath() public メソッド

定義元: yii\base\Application::setVendorPath()

ベンダーファイルを保存するディレクトリを設定します。

public void setVendorPath ( $path )
$path 文字列

ベンダーファイルを格納するディレクトリ。

                public function setVendorPath($path)
{
    $this->_vendorPath = Yii::getAlias($path);
    Yii::setAlias('@vendor', $this->_vendorPath);
    Yii::setAlias('@bower', $this->_vendorPath . DIRECTORY_SEPARATOR . 'bower');
    Yii::setAlias('@npm', $this->_vendorPath . DIRECTORY_SEPARATOR . 'npm');
}

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

定義元: yii\base\Module::setVersion()

現在のモジュールのバージョンを設定します。

public void setVersion ( $version )
$version string|callable|null

このモジュールのバージョン。バージョンはPHPのコールバックとして指定でき、モジュールインスタンスを引数として受け取り、実際のバージョンを返す必要があります。例:

function (Module $module) {
    //return string
}

                public function setVersion($version)
{
    $this->_version = $version;
}

            
setViewPath() public メソッド

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

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

public void setViewPath ( $path )
$path 文字列

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

throws yii\base\InvalidArgumentException

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

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

            
trigger() public メソッド

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

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

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

public void trigger ( $name, yii\base\Event $event null )
$name 文字列

イベント名

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