0 フォロワー

抽象クラス yii\base\Application

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

Applicationは、すべてのアプリケーションクラスの基底クラスです。

Applicationの詳細と使用方法については、アプリケーションに関するガイド記事を参照してください。

公開プロパティ

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

プロパティ 説明 定義元
$aliases array 定義するパスエイリアスのリスト。 yii\base\Module
$assetManager yii\web\AssetManager アセットマネージャーアプリケーションコンポーネント。 yii\base\Application
$authManager yii\rbac\ManagerInterface|null 認証マネージャーアプリケーションコンポーネント、または設定されていない場合はnull。 yii\base\Application
$basePath string アプリケーションのルートディレクトリ。 yii\base\Application
$behaviors yii\base\Behavior[] このコンポーネントにアタッチされたビヘイビアのリスト。 yii\base\Component
$bootstrap array アプリケーションのブートストラッププロセス中に実行する必要があるコンポーネントのリスト。 yii\base\Application
$cache yii\caching\CacheInterface|null キャッシュアプリケーションコンポーネント。 yii\base\Application
$charset string アプリケーションで使用されている文字セット。 yii\base\Application
$components array コンポーネント定義のリスト、またはロードされたコンポーネントインスタンスのリスト (ID => 定義またはインスタンス)。 yii\di\ServiceLocator
$container array 名前と値のペアで指定された値。 yii\base\Application
$controller yii\base\Controller 現在アクティブなコントローラーインスタンス。 yii\base\Application
$controllerMap array コントローラーIDとコントローラー設定のマッピング。 yii\base\Module
$controllerNamespace string コントローラークラスが存在する名前空間。 yii\base\Application
$controllerPath string コントローラークラスを含むディレクトリ。 yii\base\Module
$db yii\db\Connection データベース接続。 yii\base\Application
$defaultRoute string このモジュールのデフォルトルート。 yii\base\Module
$errorHandler yii\web\ErrorHandler|yii\console\ErrorHandler エラーハンドラーアプリケーションコンポーネント。 yii\base\Application
$extensions array|null インストールされているYii拡張機能のリスト。 yii\base\Application
$formatter yii\i18n\Formatter フォーマッターアプリケーションコンポーネント。 yii\base\Application
$i18n yii\i18n\I18N 国際化アプリケーションコンポーネント。 yii\base\Application
$id string 同じを持つ他のモジュールの中で、このモジュールを一意に識別するID。 yii\base\Module
$language string エンドユーザーが使用する言語。 yii\base\Application
$layout string|boolean このアプリケーションのビューに適用するレイアウト。 yii\base\Application
$layoutPath string レイアウトファイルのルートディレクトリ。 yii\base\Module
$loadedModules array ロードされたモジュールのリスト(クラス名でインデックス付け)。 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 array モジュール(IDでインデックス付け)。 yii\base\Module
$name string アプリケーション名。 yii\base\Application
$params array カスタムモジュールパラメーター(名前 => 値)。 yii\base\Module
$request yii\web\Request|yii\console\Request リクエストコンポーネント。 yii\base\Application
$requestedAction yii\base\Action|null リクエストされたアクション。 yii\base\Application
$requestedParams array リクエストされたアクションに渡されたパラメーター。 yii\base\Application
$requestedRoute string リクエストされたルート。 yii\base\Application
$response yii\web\Response|yii\console\Response レスポンスコンポーネント。 yii\base\Application
$runtimePath string ランタイムファイルが保存されているディレクトリ。 yii\base\Application
$security yii\base\Security セキュリティアプリケーションコンポーネント。 yii\base\Application
$sourceLanguage string アプリケーションが記述されている言語。 yii\base\Application
$state integer リクエスト処理ライフサイクル中の現在のアプリケーションの状態。 yii\base\Application
$timeZone string このアプリケーションで使用されているタイムゾーン。 yii\base\Application
$uniqueId string モジュールの一意のID。 yii\base\Application
$urlManager yii\web\UrlManager このアプリケーションのURLマネージャー。 yii\base\Application
$vendorPath string ベンダーファイルが保存されているディレクトリ。 yii\base\Application
$version string このモジュールのバージョン。 yii\base\Module
$view yii\base\View|yii\web\View 様々なビューファイルをレンダリングするために使用されるビューアプリケーションコンポーネント。 yii\base\Application
$viewPath string ビューファイルのルートディレクトリ。 yii\base\Module

公開メソッド

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

メソッド 説明 定義元
__call() クラスメソッドではない、指定された名前のメソッドを呼び出します。 yii\base\Component
__clone() 既存のオブジェクトをクローンして作成した後に、このメソッドが呼び出されます。 yii\base\Component
__construct() コンストラクタ。 yii\base\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
coreComponents() コアアプリケーションコンポーネントの設定を返します。 yii\base\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\base\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\base\Application
getResponse() レスポンスコンポーネントを返します。 yii\base\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\base\Application
has() ロケーターが指定されたコンポーネント定義を持っているか、コンポーネントをインスタンス化しているかどうかを示す値を返します。 yii\base\Module
hasEventHandlers() 名前付きイベントにハンドラーがアタッチされているかどうかを示す値を返します。 yii\base\Component
hasMethod() メソッドが定義されているかどうかを示す値を返します。 yii\base\Component
hasModule() 指定されたIDのチャイルドモジュールが存在するかどうかをチェックします。 yii\base\Module
hasProperty() このコンポーネントに対してプロパティが定義されているかどうかを示す値を返します。 yii\base\Component
init() モジュールを初期化します。 yii\base\Application
off() このコンポーネントから既存のイベントハンドラーをデタッチします。 yii\base\Component
on() イベントにイベントハンドラーをアタッチします。 yii\base\Component
preInit() アプリケーションを事前に初期化します。 yii\base\Application
run() アプリケーションを実行します。 yii\base\Application
runAction() ルートによって指定されたコントローラーアクションを実行します。 yii\base\Module
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
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

定数

継承された定数を非表示

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

プロパティの詳細

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

$assetManager public property

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

$authManager public property

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

$basePath public property

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

public string $basePath null
$bootstrap public property

アプリケーションのブートストラッププロセス中に実行する必要があるコンポーネントのリスト。

各コンポーネントは、以下のいずれかの形式で指定できます。

  • $componentsで指定されたアプリケーションコンポーネントID。
  • $modulesで指定されたモジュールID。
  • クラス名。
  • 設定配列。
  • クロージャ。

ブートストラッププロセス中に、各コンポーネントはインスタンス化されます。コンポーネントクラスがyii\base\BootstrapInterfaceを実装している場合、そのbootstrap()メソッドも呼び出されます。

public array $bootstrap = []
$cache public property

キャッシュアプリケーションコンポーネント。コンポーネントが無効になっている場合はnull。

$charset public property

アプリケーションで使用されている文字セット。

public string $charset 'UTF-8'
$container public property

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

public array $container null
$controller public property

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

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

コントローラークラスが配置されている名前空間です。この名前空間は、コントローラークラス名にプレフィックスとして追加することで、コントローラークラスをロードするために使用されます。デフォルトの名前空間は `app\controllers` です。

詳細については、クラスオートローディングに関するガイドを参照してください。

public string $controllerNamespace 'app\controllers'
$db パブリックプロパティ

データベース接続。

public yii\db\Connection $db null
$errorHandler パブリックプロパティ

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

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

インストール済みのYiiエクステンションの一覧です。各配列要素は、以下の構造を持つ単一のエクステンションを表します。

[
    'name' => 'extension name',
    'version' => 'version number',
    'bootstrap' => 'BootstrapClassName',  // optional, may also be a configuration array
    'alias' => [
        '@alias1' => 'to/path1',
        '@alias2' => 'to/path2',
    ],
]

上記にリストされている "bootstrap" クラスは、アプリケーションのブートストラッププロセス中にインスタンス化されます。yii\base\BootstrapInterfaceを実装するクラスの場合、そのbootstrap()メソッドも呼び出されます。

アプリケーションの設定で明示的に設定されていない場合、このプロパティには `@vendor/yiisoft/extensions.php` の内容が設定されます。

public array|null $extensions null
$formatter パブリックプロパティ

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

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

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

public yii\i18n\I18N $i18n null
$language パブリックプロパティ

エンドユーザーが使用する言語です。IETF言語タグを使用することをお勧めします。例えば、`en` は英語を表し、`en-US` は英語(米国)を表します。

$sourceLanguageも参照してください。

public string $language 'en-US'
$layout パブリックプロパティ

このアプリケーションのビューに適用するレイアウトです。デフォルトは 'main' です。false の場合、レイアウトは無効になります。

public string|boolean $layout 'main'
$loadedModules パブリックプロパティ

ロードされたモジュールのリスト(クラス名でインデックス付け)。

public array $loadedModules = []
$log パブリックプロパティ

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

public yii\log\Dispatcher $log null
$mailer パブリックプロパティ

メール送信アプリケーションコンポーネント。

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

アプリケーション名。

public string $name 'マイアプリケーション'
$request public プロパティ

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

$requestedAction public プロパティ

リクエストされたアクション。nullの場合、リクエストはアクションに解決できません。

$requestedParams public プロパティ

リクエストされたアクションに渡されたパラメーター。

public array $requestedParams null
$requestedRoute public プロパティ

リクエストされたルート。

public string $requestedRoute null
$response public プロパティ

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

$runtimePath public プロパティ

実行時ファイルが格納されるディレクトリ。$basePath の下の "runtime" サブディレクトリがデフォルトです。

public string $runtimePath null
$security public プロパティ

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

$sourceLanguage public プロパティ

アプリケーションが記述されている言語。主に、メッセージファイルとビューファイルが記述されている言語を指します。

$language も参照してください。

public string $sourceLanguage 'en-US'
$state public プロパティ

リクエスト処理ライフサイクル中の現在のアプリケーションの状態。このプロパティはアプリケーションによって管理されます。このプロパティを変更しないでください。

public integer $state null
$timeZone public プロパティ

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

public string $timeZone null
$uniqueId public プロパティ

モジュールの一意のID。

public string $uniqueId null
$urlManager public プロパティ

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

$vendorPath public プロパティ

ベンダーファイルが格納されるディレクトリ。$basePath の下の "vendor" ディレクトリがデフォルトです。

public string $vendorPath null
$view public プロパティ

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

メソッドの詳細

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

__call() publicメソッド

定義位置: 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メソッド

定義位置: yii\base\Component::__clone()

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

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

public void __clone ( )

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

            
__construct() publicメソッド

コンストラクタ。

public void __construct ( $config = [] )
$config array

オブジェクトのプロパティを初期化するために使用される名前と値のペア。設定には、$id$basePath の両方が含まれている必要があります。

例外 yii\base\InvalidConfigException

$id または $basePath の設定が不足している場合。

                public function __construct($config = [])
{
    Yii::$app = $this;
    static::setInstance($this);
    $this->state = self::STATE_BEGIN;
    $this->preInit($config);
    $this->registerErrorHandler($config);
    Component::__construct($config);
}

            
__get() publicメソッド

定義位置: yii\di\ServiceLocator::__get()

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

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

public mixed __get ( $name )
$name string

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

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

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

戻り値 boolean

プロパティの値が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"という名前のビヘイビアをアタッチする
  • ビヘイビアのプロパティ: ビヘイビアのプロパティの値を設定する

これは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);
}

            
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 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\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

実行するアクション。

戻り値 boolean

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

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

ビヘイビア設定。

                public function behaviors()
{
    return [];
}

            
bootstrap() protectedメソッド

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

このメソッドは、アプリケーションが完全に設定された後、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 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();
}

            
clear() publicメソッド

定義先: yii\di\ServiceLocator::clear()

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

public void clear ( $id )
$id string

コンポーネントID

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

            
coreComponents() publicメソッド

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

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

public array coreComponents ( )

                public function coreComponents()
{
    $components = [
        'log' => ['class' => 'yii\log\Dispatcher'],
        'view' => ['class' => 'yii\web\View'],
        'formatter' => ['class' => 'yii\i18n\Formatter'],
        'i18n' => ['class' => 'yii\i18n\I18N'],
        'urlManager' => ['class' => 'yii\web\UrlManager'],
        'assetManager' => ['class' => 'yii\web\AssetManager'],
        'security' => ['class' => 'yii\base\Security'],
    ];
    if (class_exists('yii\swiftmailer\Mailer')) {
        $components['mailer'] = ['class' => 'yii\swiftmailer\Mailer'];
    }
    return $components;
}

            
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 string

モジュール、コントローラー、アクションIDからなるルート。

戻り値 array|boolean

コントローラーが正常に作成された場合、リクエストされたアクションIDと共に返されます。そうでない場合、`false`が返されます。

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

コントローラーID。

戻り値 yii\base\Controller|null

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

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

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

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

            
end() publicメソッド

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

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

public void end ( $status 0, $response null )
$status integer

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

$response yii\base\Response|null

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

例外 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() publicメソッド

定義されている場所: yii\base\Module::get()

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

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

public object|null get ( $id, $throwException true )
$id string

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

$throwException boolean

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

戻り値 object|null

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

例外 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() publicメソッド

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

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

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

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

            
getAuthManager() publicメソッド

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

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

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

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

            
getBasePath() publicメソッド

定義されている場所: yii\base\Module::getBasePath()

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

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

public string getBasePath ( )
戻り値 string

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

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

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

            
getCache() publicメソッド

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

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

キャッシュアプリケーションコンポーネント。コンポーネントが無効になっている場合はnull。

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

            
getComponents() publicメソッド

定義されている場所: yii\di\ServiceLocator::getComponents()

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

public array getComponents ( $returnDefinitions true )
$returnDefinitions boolean

読み込まれたコンポーネントインスタンスではなく、コンポーネント定義を返すかどうか。

戻り値 array

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

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

            
getControllerPath() publicメソッド

定義位置: yii\base\Module::getControllerPath()

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

このメソッドが値を返すためには、$controllerNamespaceのルート名前空間のアリアスを定義する必要があります。

public string getControllerPath ( )
戻り値 string

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

例外 yii\base\InvalidArgumentException

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

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

            
getDb() publicメソッド

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

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

データベース接続。

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

            
getErrorHandler() publicメソッド

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

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

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

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

            
getFormatter() publicメソッド

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

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

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

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

            
getI18n() publicメソッド

国際化(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 ( )
戻り値 static|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 ( )
戻り値 string

レイアウトファイルのルートディレクトリ。「$viewPath/layouts」がデフォルト。

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

            
getLog() publicメソッド

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

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

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

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

            
getMailer() publicメソッド

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

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

メール送信アプリケーションコンポーネント。

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

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

$load boolean

モジュールがまだ読み込まれていない場合に、モジュールを読み込むかどうか。

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

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

戻り値 array

モジュール(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\web\Request|yii\console\Request getRequest ( )
戻り値 yii\web\Request|yii\console\Request

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

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

            
getResponse() publicメソッド

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

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

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

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

            
getRuntimePath() publicメソッド

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

public string getRuntimePath ( )
戻り値 string

実行時ファイルが格納されるディレクトリ。$basePath の下の "runtime" サブディレクトリがデフォルトです。

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

            
getSecurity() publicメソッド

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

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

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

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

            
getTimeZone() publicメソッド

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

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

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

public string getTimeZone ( )
戻り値 string

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

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

            
getUniqueId() publicメソッド

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

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

public string getUniqueId ( )
戻り値 string

モジュールの一意のID。

                public function getUniqueId()
{
    return '';
}

            
getUrlManager() publicメソッド

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

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

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

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

            
getVendorPath() publicメソッド

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

public string getVendorPath ( )
戻り値 string

ベンダーファイルが格納されるディレクトリ。$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 ( )
戻り値 string

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

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

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

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

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

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

            
handleRequest() public抽象メソッド

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

このメソッドは、リクエストの処理結果を表すyii\base\Responseまたはその子クラスのインスタンスを返す必要があります。

public abstract yii\base\Response handleRequest ( $request )
$request yii\base\Request

処理されるリクエスト

戻り値 yii\base\Response

結果のレスポンス

                abstract public function handleRequest($request);

            
has() publicメソッド

定義されている場所: yii\base\Module::has()

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

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

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

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

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

$checkInstance boolean

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

戻り値 boolean

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

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

            
hasModule() publicメソッド

定義位置: yii\base\Module::hasModule()

指定されたIDのチャイルドモジュールが存在するかどうかをチェックします。

このメソッドは、子モジュールと孫モジュールの両方の存在チェックをサポートします。

public boolean hasModule ( $id )
$id string

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

戻り値 boolean

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

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

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

プロパティが定義されている場合とは、

  • 指定された名前と関連付けられたゲッターまたはセッターメソッドがクラスに存在する場合(この場合、プロパティ名はケースインセンシティブです)。
  • クラスに指定された名前のメンバ変数がある場合(`$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メソッド

モジュールを初期化します。

このメソッドは、モジュールが作成され、構成で指定されたプロパティ値で初期化された後に呼び出されます。デフォルトの実装では、$controllerNamespace が設定されていない場合に初期化します。

このメソッドをオーバーライドする場合は、親の実装を必ず呼び出してください。

public void init ( )

                public function init()
{
    $this->state = self::STATE_INIT;
    $this->bootstrap();
}

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

            
preInit() publicメソッド

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

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

public void preInit ( &$config )
$config array

アプリケーション設定

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

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

protected void registerErrorHandler ( &$config )
$config array

アプリケーション設定

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

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

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

public integer run ( )
戻り値 integer

終了ステータス(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\base\Module::runAction()

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

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

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

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

$params array

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

戻り値 mixed

アクションの結果。

例外 yii\base\InvalidRouteException

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

                public function runAction($route, $params = [])
{
    $parts = $this->createController($route);
    if (is_array($parts)) {
        /* @var $controller Controller */
        list($controller, $actionID) = $parts;
        $oldController = Yii::$app->controller;
        Yii::$app->controller = $controller;
        $result = $controller->runAction($actionID, $params);
        if ($oldController !== null) {
            Yii::$app->controller = $oldController;
        }
        return $result;
    }
    $id = $this->getUniqueId();
    throw new InvalidRouteException('Unable to resolve the request "' . ($id === '' ? $route : $id . '/' . $route) . '".');
}

            
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 string

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

$definition mixed

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

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

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

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

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

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

public void setBasePath ( $path )
$path string

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

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

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

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

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

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

public void setContainer ( $config )
$config array

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

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

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

定義位置: yii\base\Module::setControllerPath()

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

public void setControllerPath ( $path )
$path string

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

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

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

例外 yii\base\InvalidArgumentException

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

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

            
setModule() publicメソッド

定義位置: yii\base\Module::setModule()

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

public void setModule ( $id, $module )
$id string

モジュール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 array

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

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

            
setRuntimePath() publicメソッド

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

public void setRuntimePath ( $path )
$path string

ランタイムファイルが保存されているディレクトリ。

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

            
setTimeZone() publicメソッド

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

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

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

public void setTimeZone ( $value )
$value string

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

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

            
setVendorPath() publicメソッド

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

public void setVendorPath ( $path )
$path string

ベンダーファイルが保存されているディレクトリ。

                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 string

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

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

            

イベントの詳細

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

EVENT_AFTER_REQUEST yii\base\Event型のイベント

アプリケーションがリクエストを正常に処理した後(レスポンスが送信される前)に発生するイベント。

EVENT_BEFORE_REQUEST yii\base\Event型のイベント

アプリケーションがリクエストの処理を開始する前に発生するイベント。