Commit e70e0b34 by Alexander Makarov

Merge pull request #6330 from softark/docs-guide-ja-structure-revised

Docs guide ja structure revised [ci skip]
parents b1c69c47 03e1d93c
決定版 Yii 2.0 ガイド Yii 2.0 決定版ガイド
===================== ====================
このチュートリアルは [Yii ドキュメント規約](http://www.yiiframework.com/doc/terms/) の下にリリースされています。 このチュートリアルは [Yii ドキュメント規約](http://www.yiiframework.com/doc/terms/) の下にリリースされています。
...@@ -54,7 +54,7 @@ All Rights Reserved. ...@@ -54,7 +54,7 @@ All Rights Reserved.
* [レスポンス](runtime-responses.md) * [レスポンス](runtime-responses.md)
* [セッションとクッキー](runtime-sessions-cookies.md) * [セッションとクッキー](runtime-sessions-cookies.md)
* [エラー処理](runtime-handling-errors.md) * [エラー処理](runtime-handling-errors.md)
* [ログ](runtime-logging.md) * [ギン](runtime-logging.md)
鍵となる概念 鍵となる概念
......
...@@ -3,30 +3,27 @@ ...@@ -3,30 +3,27 @@
エントリスクリプトは、アプリケーションのブートストラップ過程のチェーンにおける最初の環です。 エントリスクリプトは、アプリケーションのブートストラップ過程のチェーンにおける最初の環です。
アプリケーションは (ウェブアプリケーションであれ、コンソールアプリケーションであれ)単一のエントリスクリプトを持ちます。 アプリケーションは (ウェブアプリケーションであれ、コンソールアプリケーションであれ)単一のエントリスクリプトを持ちます。
エンドユーザはエントリスクリプトに対してリクエストを発行し、エントリスクリプトはアプリケーションのインスタンスを作成して、 エンドユーザはエントリスクリプトに対してリクエストを発行し、エントリスクリプトはアプリケーションのインスタンスを作成して、それにリクエストを送付します。
それにリクエストを送付します。
ウェブアプリケーションのエントリスクリプトは、エンドユーザからアクセス出来るように、 ウェブアプリケーションのエントリスクリプトは、エンドユーザからアクセス出来るように、ウェブからのアクセスが可能なディレクトリの下に保管されなければなりません。
ウェブからのアクセスが可能なディレクトリの下に保管されなければなりません。 たいていは `index.php` と名付けられますが、ウェブサーバが見つけることが出来る限り、どのような名前を使っても構いません。
大抵は `index.php` と名付けられますが、ウェブサーバが見つけることが出来る限り、どのような名前を使っても構いません。
コンソールアプリケーションのエントリスクリプトは、通常は、アプリケーションの [ベースパス](structure-applications.md) コンソールアプリケーションのエントリスクリプトは、通常は、アプリケーションの [ベースパス](structure-applications.md) の下に保管され、`yii` と名付けられます (`.php` の拡張子を伴います) 。
下に保管され、`yii` と名付けられます (`.php` の拡張子を伴います) 。
これは、ユーザが `./yii <route> [引数] [オプション]` というコマンドによってコンソールアプリケーションを走らせることが出来るようにするためのスクリプトであり、実行可能なパーミッションを与えられるべきものです。 これは、ユーザが `./yii <route> [引数] [オプション]` というコマンドによってコンソールアプリケーションを走らせることが出来るようにするためのスクリプトであり、実行可能なパーミッションを与えられるべきものです。
エントリスクリプトは主として次の仕事をします: エントリスクリプトは主として次の仕事をします
* グローバルな定数を定義する; * グローバルな定数を定義する;
* [Composer のオートローダ](http://getcomposer.org/doc/01-basic-usage.md#autoloading) を登録する; * [Composer のオートローダ](http://getcomposer.org/doc/01-basic-usage.md#autoloading) を登録する
* [[Yii]] クラスファイルをインクルードする; * [[Yii]] クラスファイルをインクルードする
* アプリケーションのコンフィギュレーションを読み出す; * アプリケーションの構成情報を読み出す。
* [アプリケーション](structure-applications.md) のインスタンスを生成して構成する; * [アプリケーション](structure-applications.md) のインスタンスを生成して構成する
* [[yii\base\Application::run()]] を呼んで、受け取ったリクエストを処理する。 * [[yii\base\Application::run()]] を呼んで、受け取ったリクエストを処理する。
## ウェブアプリケーション<a name="web-applications"></a> ## ウェブアプリケーション<a name="web-applications"></a>
次に示すのが、[ベーシックウェブアプリケーションテンプレート](start-installation.md) のエントリスクリプトです: 次に示すのが、[ベーシックウェブアプリケーションテンプレート](start-installation.md) のエントリスクリプトです
```php ```php
<?php <?php
...@@ -40,7 +37,7 @@ require(__DIR__ . '/../vendor/autoload.php'); ...@@ -40,7 +37,7 @@ require(__DIR__ . '/../vendor/autoload.php');
// Yii クラスファイルをインクルード // Yii クラスファイルをインクルード
require(__DIR__ . '/../vendor/yiisoft/yii2/Yii.php'); require(__DIR__ . '/../vendor/yiisoft/yii2/Yii.php');
// アプリケーションのコンフィギュレーションを読み出す // アプリケーションの構成情報を読み出す
$config = require(__DIR__ . '/../config/web.php'); $config = require(__DIR__ . '/../config/web.php');
// アプリケーションを作成し、構成して、走らせる // アプリケーションを作成し、構成して、走らせる
...@@ -75,7 +72,7 @@ require(__DIR__ . '/vendor/autoload.php'); ...@@ -75,7 +72,7 @@ require(__DIR__ . '/vendor/autoload.php');
// Yii クラスファイルをインクルード // Yii クラスファイルをインクルード
require(__DIR__ . '/vendor/yiisoft/yii2/Yii.php'); require(__DIR__ . '/vendor/yiisoft/yii2/Yii.php');
// アプリケーションのコンフィギュレーションを読み出す // アプリケーションの構成情報を読み出す
$config = require(__DIR__ . '/config/console.php'); $config = require(__DIR__ . '/config/console.php');
$application = new yii\console\Application($config); $application = new yii\console\Application($config);
...@@ -90,23 +87,22 @@ exit($exitCode); ...@@ -90,23 +87,22 @@ exit($exitCode);
Yii は下記の三つの定数をサポートしています: Yii は下記の三つの定数をサポートしています:
* `YII_DEBUG`: アプリケーションがデバッグモードで走るかどうかを規定します。 * `YII_DEBUG`: アプリケーションがデバッグモードで走るかどうかを規定します。
デバッグモードにおいては、アプリケーションはより多くのログ情報を保持し、 デバッグモードにおいては、アプリケーションはより多くのログ情報を保持し、例外が投げられたときに、より詳細なエラーのコールスタックを表示します。
例外が投げられたときに、より詳細なエラーのコールスタックを表示します。
この理由により、デバッグモードは主として開発時に使用されるべきものとなります。 この理由により、デバッグモードは主として開発時に使用されるべきものとなります。
`YII_DEBUG` の既定値は false です。 `YII_DEBUG` の既定値は false です。
* `YII_ENV`: どういう環境でアプリケーションが走るかを規定します。 * `YII_ENV`: どういう環境でアプリケーションが走るかを規定します。
詳細については、[コンフィギュレーション](concept-configurations.md#environment-constants) の節で説明されます。 詳細については、[構成情報](concept-configurations.md#environment-constants) の節で説明されます。
`YII_ENV` の既定値は `'prod'` です。これはアプリケーションが実運用環境で走ることを意味します。 `YII_ENV` の既定値は `'prod'` です。これはアプリケーションが実運用環境で走ることを意味します。
* `YII_ENABLE_ERROR_HANDLER`: Yii によって提供されるエラーハンドラを有効にするかどうかを規定します。 * `YII_ENABLE_ERROR_HANDLER`: Yii によって提供されるエラーハンドラを有効にするかどうかを規定します。
この定数の既定値は true です。 この定数の既定値は true です。
定数を定義するときには、しばしば次のようなコードを用います: 定数を定義するときには、しばしば次のようなコードを用います
```php ```php
defined('YII_DEBUG') or define('YII_DEBUG', true); defined('YII_DEBUG') or define('YII_DEBUG', true);
``` ```
これは下記のコードと同じ意味のものです: これは下記のコードと同じ意味のものです
```php ```php
if (!defined('YII_DEBUG')) { if (!defined('YII_DEBUG')) {
......
...@@ -2,11 +2,11 @@ ...@@ -2,11 +2,11 @@
==== ====
Yii のアプリケーションは [モデル・ビュー・コントローラ (MVC)](http://ja.wikipedia.org/wiki/Model_View_Controller) デザインパターンに従って組織されます。 Yii のアプリケーションは [モデル・ビュー・コントローラ (MVC)](http://ja.wikipedia.org/wiki/Model_View_Controller) デザインパターンに従って組織されます。
[モデル](structure-models.md) は、データ、ビジネスロジック、規則を表現します; [モデル](structure-models.md) は、データ、ビジネスロジック、規則を表現します
[ビュー](structure-views.md) は、モデルの出力表現です; [ビュー](structure-views.md) は、モデルの出力表現です
そして [コントローラ](structure-controllers.md) は入力を受け取って、それを [モデル](structure-models.md)[ビュー](structure-views.md) のためのコマンドに変換します。 そして [コントローラ](structure-controllers.md) は入力を受け取って、それを [モデル](structure-models.md)[ビュー](structure-views.md) のためのコマンドに変換します。
MVC 以外にも、Yii のアプリケーションは下記の要素を持っています: MVC 以外にも、Yii のアプリケーションは下記の要素を持っています
* [エントリスクリプト](structure-entry-scripts.md): エンドユーザから直接アクセスできる PHP スクリプトです。 * [エントリスクリプト](structure-entry-scripts.md): エンドユーザから直接アクセスできる PHP スクリプトです。
これはリクエスト処理サイクルを開始する役目を持っています。 これはリクエスト処理サイクルを開始する役目を持っています。
...@@ -15,9 +15,9 @@ MVC 以外にも、Yii のアプリケーションは下記の要素を持って ...@@ -15,9 +15,9 @@ MVC 以外にも、Yii のアプリケーションは下記の要素を持って
* [アプリケーションコンポーネント](structure-application-components.md): アプリケーションと共に登録されたオブジェクトであり、リクエストに応えるための様々なサービスを提供します。 * [アプリケーションコンポーネント](structure-application-components.md): アプリケーションと共に登録されたオブジェクトであり、リクエストに応えるための様々なサービスを提供します。
* [モジュール](structure-modules.md): それ自身に完全な MVC を含む自己完結的なパッケージです。 * [モジュール](structure-modules.md): それ自身に完全な MVC を含む自己完結的なパッケージです。
アプリケーションは複数のモジュールとして組織することが出来ます。 アプリケーションは複数のモジュールとして組織することが出来ます。
* [フィルタ](structure-filters.md): 各リクエストが実際に処理される前と後に、コントローラから呼び出される必要があるコードを表現します。 * [フィルタ](structure-filters.md): 各リクエストが実際に処理される前と後に、コントローラから呼び出される必要があるコードを表現します。
* [ウィジェット](structure-widgets.md): [ビュー](structure-views.md) に埋め込むことが出来るオブジェクトです。コントローラのロジックを含むことが可能で、異なるビューで再利用することが出来ます。 * [ウィジェット](structure-widgets.md): [ビュー](structure-views.md) に埋め込むことが出来るオブジェクトです。コントローラのロジックを含むことが可能で、異なるビューで再利用することが出来ます。
下の図がアプリケーションの静的な構造を示すものです: 下の図がアプリケーションの静的な構造を示すものです
![アプリケーションの静的な構造](images/application-structure.png) ![アプリケーションの静的な構造](images/application-structure.png)
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment