mirror of
https://github.com/yiisoft/yii2.git
synced 2025-11-28 13:09:14 +08:00
docs/guide-ja/structure-application-components.md - revised [ci skip]
This commit is contained in:
@@ -20,7 +20,7 @@
|
|||||||
二度目以降のアクセスでは、同じコンポーネントのインスタンスが返されます。
|
二度目以降のアクセスでは、同じコンポーネントのインスタンスが返されます。
|
||||||
|
|
||||||
どのようなオブジェクトでも、アプリケーションコンポーネントとすることが可能です。
|
どのようなオブジェクトでも、アプリケーションコンポーネントとすることが可能です。
|
||||||
[アプリケーションのコンフィギュレーション](structure-applications.md#application-configurations) の中で [[yii\base\Application::components]] プロパティを構成することによって、アプリケーションコンポーネントを登録することが出来ます。
|
[アプリケーションの設定情報](structure-applications.md#application-configurations) の中で [[yii\base\Application::components]] プロパティを構成することによって、アプリケーションコンポーネントを登録することが出来ます。
|
||||||
例えば、
|
例えば、
|
||||||
|
|
||||||
```php
|
```php
|
||||||
@@ -29,7 +29,7 @@
|
|||||||
// クラス名を使って "cache" コンポーネントを登録
|
// クラス名を使って "cache" コンポーネントを登録
|
||||||
'cache' => 'yii\caching\ApcCache',
|
'cache' => 'yii\caching\ApcCache',
|
||||||
|
|
||||||
// コンフィギュレーション配列を使って "db" コンポーネントを登録
|
// 設定情報の配列を使って "db" コンポーネントを登録
|
||||||
'db' => [
|
'db' => [
|
||||||
'class' => 'yii\db\Connection',
|
'class' => 'yii\db\Connection',
|
||||||
'dsn' => 'mysql:host=localhost;dbname=demo',
|
'dsn' => 'mysql:host=localhost;dbname=demo',
|
||||||
@@ -46,8 +46,8 @@
|
|||||||
```
|
```
|
||||||
|
|
||||||
> Info|情報: 必要なだけ多くのアプリケーションコンポーネントを登録することが出来ますが、慎重にしなければなりません。
|
> Info|情報: 必要なだけ多くのアプリケーションコンポーネントを登録することが出来ますが、慎重にしなければなりません。
|
||||||
アプリケーションコンポーネントはグローバル変数のようなものです。あまり多くのアプリケーションコンポーネントを使うと
|
アプリケーションコンポーネントはグローバル変数のようなものです。
|
||||||
コードのテストと保守が困難になるおそれがあります。
|
あまり多くのアプリケーションコンポーネントを使うと、コードのテストと保守が困難になるおそれがあります。
|
||||||
多くの場合、必要なときにローカルなコンポーネントを作成して使用するだけで十分です。
|
多くの場合、必要なときにローカルなコンポーネントを作成して使用するだけで十分です。
|
||||||
|
|
||||||
|
|
||||||
@@ -55,11 +55,11 @@
|
|||||||
|
|
||||||
上述のように、アプリケーションコンポーネントは最初にアクセスされた時に初めてインスタンスが作成されます。
|
上述のように、アプリケーションコンポーネントは最初にアクセスされた時に初めてインスタンスが作成されます。
|
||||||
リクエストの間に全くアクセスされなかった時は、インスタンスは作成されません。けれども、場合によっては、
|
リクエストの間に全くアクセスされなかった時は、インスタンスは作成されません。けれども、場合によっては、
|
||||||
明示的にアクセスされないときでも、リクエストごとにアプリケーションコンポーネントのインスタンスを作成する必要がある
|
明示的にアクセスされないときでも、リクエストごとにアプリケーションコンポーネントのインスタンスを作成する必要があることがあります。
|
||||||
ことがあります。そうするためには、アプリケーションの [[yii\base\Application::bootstrap|bootstrap]] プロパティのリストに
|
そうするためには、アプリケーションの [[yii\base\Application::bootstrap|bootstrap]] プロパティのリストに
|
||||||
そういうコンポーネントの ID を挙げることが出来ます。
|
そういうコンポーネントの ID を挙げることが出来ます。
|
||||||
|
|
||||||
例えば、次のアプリケーションコンフィギュレーションは、`log` コンポーネントが常にロードされることを保証するものです:
|
例えば、次のアプリケーション設定情報は、`log` コンポーネントが常にロードされることを保証するものです。
|
||||||
|
|
||||||
```php
|
```php
|
||||||
[
|
[
|
||||||
@@ -68,7 +68,7 @@
|
|||||||
],
|
],
|
||||||
'components' => [
|
'components' => [
|
||||||
'log' => [
|
'log' => [
|
||||||
// "log" コンポーネントのコンフィギュレーション
|
// "log" コンポーネントの設定情報
|
||||||
],
|
],
|
||||||
],
|
],
|
||||||
]
|
]
|
||||||
@@ -77,9 +77,8 @@
|
|||||||
|
|
||||||
## コアアプリケーションコンポーネント<a name="core-application-components"></a>
|
## コアアプリケーションコンポーネント<a name="core-application-components"></a>
|
||||||
|
|
||||||
Yii は固定の ID とデフォルトのコンフィギュレーションを持つ一連の *コア* アプリケーションコンポーネントを定義しています。
|
Yii は固定の ID とデフォルトの設定情報を持つ一連の *コア* アプリケーションコンポーネントを定義しています。
|
||||||
例えば、[[yii\web\Application::request|request]] コンポーネントは、ユーザリクエストに関する情報を収集し、
|
例えば、[[yii\web\Application::request|request]] コンポーネントは、ユーザリクエストに関する情報を収集して、それを [ルート](runtime-routing.md) として解決します。
|
||||||
それを [ルート](runtime-routing.md) として解決します。
|
|
||||||
[[yii\base\Application::db|db]] コンポーネントは、それを通じてデータベースクエリを実行できるデータベース接続を表現します。
|
[[yii\base\Application::db|db]] コンポーネントは、それを通じてデータベースクエリを実行できるデータベース接続を表現します。
|
||||||
Yii のアプリケーションがユーザリクエストを処理することが出来るのは、まさにこれらのコアアプリケーションコンポーネントの助力によります。
|
Yii のアプリケーションがユーザリクエストを処理することが出来るのは、まさにこれらのコアアプリケーションコンポーネントの助力によります。
|
||||||
下記が事前に定義されたコアアプリケーションコンポーネントです。
|
下記が事前に定義されたコアアプリケーションコンポーネントです。
|
||||||
@@ -87,33 +86,33 @@ Yii のアプリケーションがユーザリクエストを処理すること
|
|||||||
コアアプリケーションコンポーネントを構成するときは、クラスを指定しなければ、デフォルトのクラスが使用されます。
|
コアアプリケーションコンポーネントを構成するときは、クラスを指定しなければ、デフォルトのクラスが使用されます。
|
||||||
|
|
||||||
* [[yii\web\AssetManager|assetManager]]: アセットバンドルとアセットの発行を管理します。
|
* [[yii\web\AssetManager|assetManager]]: アセットバンドルとアセットの発行を管理します。
|
||||||
更なる詳細は [アセットを管理する](structure-assets.md) の節を参照してください。
|
詳細は [アセット](structure-assets.md) の節を参照してください。
|
||||||
* [[yii\db\Connection|db]]: データベース接続を表します。これを通じて、DB クエリを実行することが出来ます。
|
* [[yii\db\Connection|db]]: データベース接続を表します。これを通じて、DB クエリを実行することが出来ます。
|
||||||
このコンポーネントを構成するときは、コンポーネントのクラスはもちろん、
|
このコンポーネントを構成するときは、コンポーネントのクラスはもちろん、
|
||||||
[[yii\db\Connection::dsn]] のような必須のコンポーネントプロパティを指定しなければならないことに注意してください。
|
[[yii\db\Connection::dsn]] のような必須のコンポーネントプロパティを指定しなければならないことに注意してください。
|
||||||
更なる詳細は [データアクセスオブジェクト (DAO)](db-dao.md) の節を参照してください。
|
詳細は [データアクセスオブジェクト](db-dao.md) の節を参照してください。
|
||||||
* [[yii\base\Application::errorHandler|errorHandler]]: PHP のエラーと例外を処理します。
|
* [[yii\base\Application::errorHandler|errorHandler]]: PHP のエラーと例外を処理します。
|
||||||
更なる詳細は [エラー処理](runtime-handling-errors.md) の節を参照してください。
|
詳細は [エラー処理](runtime-handling-errors.md) の節を参照してください。
|
||||||
* [[yii\i18n\Formatter|formatter]]: エンドユーザに表示されるデータに書式を設定します。
|
* [[yii\i18n\Formatter|formatter]]: エンドユーザに表示されるデータに書式を設定します。
|
||||||
例えば、数字が3桁ごとの区切りを使って表示されたり、日付が長い書式で表示されたりします。
|
例えば、数字が3桁ごとの区切りを使って表示されたり、日付が長い書式で表示されたりします。
|
||||||
更なる詳細は [データの書式設定](output-formatter.md) の節を参照してください。
|
詳細は [データの書式設定](output-formatter.md) の節を参照してください。
|
||||||
* [[yii\i18n\I18N|i18n]]: メッセージの翻訳と書式設定をサポートします。
|
* [[yii\i18n\I18N|i18n]]: メッセージの翻訳と書式設定をサポートします。
|
||||||
更なる詳細は [国際化](tutorial-i18n.md) の節を参照してください。
|
詳細は [国際化](tutorial-i18n.md) の節を参照してください。
|
||||||
* [[yii\log\Dispatcher|log]]: ログの対象を管理します。
|
* [[yii\log\Dispatcher|log]]: ログターゲットを管理します。
|
||||||
更なる詳細は [ログ](runtime-logging.md) の節を参照してください。
|
詳細は [ロギング](runtime-logging.md) の節を参照してください。
|
||||||
* [[yii\swiftmailer\Mailer|mail]]: メールの作成と送信をサポートします。
|
* [[yii\swiftmailer\Mailer|mail]]: メールの作成と送信をサポートします。
|
||||||
更なる詳細は [メール](tutorial-mailing.md) の節を参照してください。
|
詳細は [メール](tutorial-mailing.md) の節を参照してください。
|
||||||
* [[yii\base\Application::response|response]]: エンドユーザに送信されるレスポンスを表現します。
|
* [[yii\base\Application::response|response]]: エンドユーザに送信されるレスポンスを表現します。
|
||||||
更なる詳細は [レスポンス](runtime-responses.md) の節を参照してください。
|
詳細は [レスポンス](runtime-responses.md) の節を参照してください。
|
||||||
* [[yii\base\Application::request|request]]: エンドユーザから受信したリクエストを表現します。
|
* [[yii\base\Application::request|request]]: エンドユーザから受信したリクエストを表現します。
|
||||||
更なる詳細は [リクエスト](runtime-requests.md) の節を参照してください。
|
詳細は [リクエスト](runtime-requests.md) の節を参照してください。
|
||||||
* [[yii\web\Session|session]]: セッション情報を表現します。
|
* [[yii\web\Session|session]]: セッション情報を表現します。
|
||||||
このコンポーネントは、[[yii\web\Application|ウェブアプリケーション]] においてのみ利用できます。.
|
このコンポーネントは、[[yii\web\Application|ウェブアプリケーション]] においてのみ利用できます。.
|
||||||
更なる詳細は [セッションとクッキー](runtime-sessions-cookies.md) の節を参照してください。
|
詳細は [セッションとクッキー](runtime-sessions-cookies.md) の節を参照してください。
|
||||||
* [[yii\web\UrlManager|urlManager]]: URL の解析と生成をサポートします。
|
* [[yii\web\UrlManager|urlManager]]: URL の解析と生成をサポートします。
|
||||||
更なる詳細は [URL の解析と生成](runtime-url-handling.md) の節を参照してください。
|
詳細は [ルーティング と URL 生成](runtime-routing.md) の節を参照してください。
|
||||||
* [[yii\web\User|user]]: ユーザの認証情報を表現します。
|
* [[yii\web\User|user]]: ユーザの認証情報を表現します。
|
||||||
このコンポーネントは、[[yii\web\Application|ウェブアプリケーション]] においてのみ利用できます。.
|
このコンポーネントは、[[yii\web\Application|ウェブアプリケーション]] においてのみ利用できます。.
|
||||||
更なる詳細は [認証](security-authentication.md) の節を参照してください。
|
詳細は [認証](security-authentication.md) の節を参照してください。
|
||||||
* [[yii\web\View|view]]: ビューのレンダリングをサポートします。
|
* [[yii\web\View|view]]: ビューのレンダリングをサポートします。
|
||||||
更なる詳細は [ビュー](structure-views.md) の節を参照してください。
|
詳細は [ビュー](structure-views.md) の節を参照してください。
|
||||||
|
|||||||
Reference in New Issue
Block a user