Commit c174d539 by Alexander Makarov

Merge pull request #5867 from softark/docs-guide-ja-20141102

Docs guide ja 20141102 [ci skip]
parents afe32293 39aed212
......@@ -45,7 +45,7 @@ Yii 2.0 縺ッ PHP 5.4 莉・荳翫r蠢ヲ√→縺励∪縺吶1HP 5.4 縺ッ縲〆ii 1.1 縺ォ繧医
Yii 2.0 での最も明らかな変更は名前空間の使用です。
ほとんど全てのコアクラスが、例えば、`yii\web\Request` のように名前空間に属します。
クラス名に "C" のプレフィックスはもう使われません。
クラス名に "C" の接頭辞はもう使われません。
命名のスキームはディレクトリ構造に従うようになりました。
例えば、`yii\web\Request` は、対応するクラスファイルが Yii フレームワークフォルダの下の `web/Request.php` であることを示します。
......@@ -151,12 +151,12 @@ Yii 2.0 縺ッ縲√ヱ繧ケ繧ィ繧、繝ェ繧「繧ケ縺ョ菴ソ逕ィ繧偵√ヵ繧。繧、繝ォ/繝ぅ繝ャ繧ッ繝医
------
Yii 2 のビューについての最も顕著な変更は、ビューの中で `$this` という特殊な変数がカレントコントローラやウィジェットを指すものではなくなったということです。
今や `$this` は 2.0 で新しく導入された概念である *ビュー*オブジェクトを指します。
*ビュー*オブジェクトは [[yii\web\View]] という型であり、MVC パターンのビューの部分を表すものです。
今や `$this` は 2.0 で新しく導入された概念である *ビュー* オブジェクトを指します。
*ビュー*ジェクトは [[yii\web\View]] という型であり、MVC パターンのビューの部分を表すものです。
ビューにおいてコントローラやウィジェットにアクセスしたい場合は、`$this->context` を使うことが出来ます。
パーシャルビューを別のビューの中で表示するためには、`$this->renderPartial()` ではなく、`$this->render()` を使います。
`render` の呼び出しは、2.0 では明示的に echo しなくてはなりません。と言うのは、`render)` メソッドは、直接に表示するのではなく、レンダリング結果を文字列として返すものだからです。
`render` の呼び出しは、2.0 では明示的に echo しなくてはなりません。と言うのは、`render()` メソッドは、直接に表示るのではなく、レンダリング結果を文字列として返すものだからです。
例えば:
```php
......@@ -176,8 +176,8 @@ Yii 2.0 縺ッ [[yii\base\Model]] 繧 1.1 縺ォ縺翫¢繧 `CModel` 縺ィ蜷梧ァ倥↑蝓コ蠎輔
`CFormModel` というクラスは完全に廃止されました。
Yii 2 では、それの代りに、[yii\base\Model]] を拡張してフォームモデルクラスを作成すべきです。
Yii 2.0 は シナリオを宣言するための [[yii\base\Model::scenarios()|scenarios()]] というメソッドを導入しました。
このメソッドを使って、どのようなシナリオがサポートされるか、また、どのシナリオの下である属性が検証される必要があるか、安全とみなされるか否か、などを宣言します。
Yii 2.0 は サポートされるシナリオを宣言するための [[yii\base\Model::scenarios()|scenarios()]] というメソッドを導入しました。
このメソッドを使って、あるシナリオの下で、どの属性が検証される必要があるか、また、どの属性が安全とみなされるか否か、などを宣言することが出来ます。
例えば:
```php
......@@ -193,12 +193,12 @@ public function scenarios()
上記では二つのシナリオが宣言されています: `backend``frontend` です。
`backend` シナリオでは、`email``role` の属性が両方とも安全であり、一括代入が可能です。
`frontend` シナリオでは、`email` は一括代入が可能ですが、`role` は不可能です。
`email``role` は、両方とも、ルールを使って検証されなければなりません。
`email``role` は、両方とも、規則を使って検証されなければなりません。
[[yii\base\Model::rules()|rules()]] メソッドが Yii 1.1 同様に検証ルールを宣言するために使われます。
[[yii\base\Model::rules()|rules()]] メソッドが Yii 1.1 同様に検証規則を宣言するために使われます。
[[yii\base\Model::scenarios()|scenarios()]] が導入されたことにより、`unsafe` バリデータが無くなったことに注意してください。
ほとんどの場合、[[yii\base\Model::rules()|rules()]] メソッドが存在し得るシナリオを十全に記述することが出来るなら、そして `unsafe` な属性を宣言する必要が無いなら、[[yii\base\Model::scenarios()|scenarios()]] をオーバーライドする必要はありません。
ほとんどの場合、[[yii\base\Model::rules()|rules()]] メソッドが在り得るシナリオを十分に既定しているなら、そして `unsafe` な属性を宣言する必要が無いなら、[[yii\base\Model::scenarios()|scenarios()]] をオーバーライドする必要はありません。
モデルについてさらに詳細を学習するために、[モデル](structure-models.md) の節を参照してください。
......@@ -389,7 +389,7 @@ $sql = $command->sql;
$rows = $command->queryAll();
```
何より良いのは、このようなクエリ構築メソッドが [Active Record](db-active-record.md) を扱う時にも使える、ということです。
何より良いのは、このようなクエリ構築メソッドが [アクティブレコード](db-active-record.md) を扱う時にも使える、ということです。
更なる詳細については [クエリビルダ](db-query-builder.md) の節を参照してください。
......@@ -397,7 +397,7 @@ $rows = $command->queryAll();
アクティブレコード
------------------
Yii 2.0 は [Active Record](db-active-record.md) に数多くの変更を導入しました。
Yii 2.0 は [クティブレコード](db-active-record.md) に数多くの変更を導入しました。
最も顕著な違いは、クエリの構築方法とリレーショナルクエリの処理の二つです。
1.1 の `CDbCriteria` クラスは Yii 2 では [[yii\db\ActiveQuery]] に置き換えられました。
......
......@@ -127,7 +127,7 @@ $country->save();
```
> Info|情報: アクティブレコードは、オブジェクト指向の流儀でデータベースのデータにアクセスし、操作する強力な方法です。
[Active Record](db-active-record.md) の節で、更に詳細な情報を得ることが出来ます。
[アクティブレコード](db-active-record.md) の節で、更に詳細な情報を得ることが出来ます。
もう一つの方法として、[データアクセスオブジェクト(DAO)](db-dao.md) と呼ばれる、より低レベルなデータアクセス方法を使って
データベースを操作することも出来ます。
......@@ -184,7 +184,7 @@ class CountryController extends Controller
* クエリによって表現される SQL 文に `offset` 句と `limit` 句をセットして、一度に一ページ分のデータだけ (1ページ最大5行)を返すようにします。
* 次の項で説明されるように、一連のページボタンからなるページャをビューに表示するために使われます。
コードの最後で、`index` アクションは `index` と言う名前のビューを表示していますが、このとき、国データはもちろん、そのページ付け情報もビューに渡されます。
コードの最後で、`index` アクションは `index` と言う名前のビューをレンダリングしていますが、このとき、国データはもちろん、そのページ付け情報もビューに渡されます。
ビューを作成する<a name="creating-view"></a>
......@@ -213,8 +213,9 @@ use yii\widgets\LinkPager;
```
ビューは国データの表示に関連して二つの部分に分けられます。
最初の部分では、提供された国データが HTML の順序無しリストとして表示されます。
第二の部分では、アクションから渡されたページ付け情報を使って、[[yii\widgets\LinkPager]] ウィジェットが表示されます。
最初の部分では、提供された国データがたどられて、HTML の順序無しリストとしてレンダリングされます。
第二の部分では、アクションから渡されたページ付け情報を使って、[[yii\widgets\LinkPager]]
ウィジェットがレンダリングされます。
`LinkPager` ウィジェットはページボタンのリストを表示します。ボタンのどれかをクリックすると、対応するページの国データが更新表示されます。
......@@ -243,7 +244,7 @@ http://hostname/index.php?r=country/index&page=2
* 最初、[[yii\data\Pagination|Pagination]] は、1ページ目を表しています。
これは、国の SELECT クエリが `LIMIT 5 OFFSET 0` という句を伴うことを示しています。
その結果、最初の5つの国が取得されて表示されます。
* [[yii\widgets\LinkPager|LinkPager]] ウィジェットは、[[yii\data\Pagination::createUrl()|Pagination]] によって作成された URL を使ってページボタンを表示します。
* [[yii\widgets\LinkPager|LinkPager]] ウィジェットは、[[yii\data\Pagination::createUrl()|Pagination]] によって作成された URL を使ってページボタンをレンダリングします。
URL は、別々のページ番号を表現する `page` というクエリパラメータを含んだものになります。
* ページボタン "2" をクリックすると、`country/index` のルートに対する新しいリクエストが発行され、処理されます。
[[yii\data\Pagination|Pagination]] が URL から `page` クエリパラメータを読み取って、カレントページ番号を 2 にセットします。
......
......@@ -172,7 +172,7 @@ use yii\widgets\ActiveForm;
```
このビューは HTML フォームを構築するのに、[[yii\widgets\ActiveForm|ActiveForm]] と呼ばれる強力な [ウィジェット](structure-widgets.md) を使います。
ウィジェットの `begin()` メソッドと `end()` メソッドが、それぞれ、フォームの開始タグと終了タグを表示します。
ウィジェットの `begin()` メソッドと `end()` メソッドが、それぞれ、フォームの開始タグと終了タグをレンダリングします。
この二つのメソッドの呼び出しの間に、[[yii\widgets\ActiveForm::field()|field()]] メソッドによって入力フィールドが作成されます。
最初の入力フィールドは "name" のデータ、第二の入力フィールドは "email" のデータのためのものです。
入力フィールドの後に、[[yii\helpers\Html::submitButton()]] メソッドが呼ばれて、送信ボタンを生成しています。
......
......@@ -46,7 +46,7 @@ defined('YII_ENV') or define('YII_ENV', 'dev');
http://hostname/index.php?r=gii
```
> Note|注意: ローカルホスト以外のマシンから GII にアクセスしようとすると、既定ではセキュリティ上の
> Note|注意: ローカルホスト以外のマシンから Gii にアクセスしようとすると、既定ではセキュリティ上の
> 目的からアクセスが拒否されます。下記のように Gii を構成して、許可される IP アドレスを追加することが出来ます。
>
```php
......
......@@ -4,14 +4,14 @@
この節では、アプリケーションに新しい「こんにちは」というページを作成する方法を説明します。
この目的を達するために、[アクション](structure-controllers.md#creating-actions)[ビュー](structure-views.md) を作成することになります:
* アプリケーションがこのページへのリクエストをそのアクションに送致(dispatch)し、
* アプリケーションがこのページへのリクエストをそのアクションに送し、
* 次にそのアクションが "Hello" という言葉をエンドユーザに示すビューを表示します。
このチュートリアルを通じて、次の三つのことを学びます:
1. リクエストに応える [アクション](structure-controllers.md) をどのようにして作るか、
2. レスポンスの内容を構成する [ビュー](structure-views.md) をどのようにして作るか、そして、
3. アプリケーションはどのようにしてリクエストを [アクション](structure-controllers.md#creating-actions) に送するか。
3. アプリケーションはどのようにしてリクエストを [アクション](structure-controllers.md#creating-actions) に送するか。
アクションを作成する<a name="creating-action"></a>
......@@ -48,31 +48,31 @@ class SiteController extends Controller
```
上記のコードで、`say` アクションは `SiteController` クラスの中で `actionSay` という名前のメソッドとして定義されています。
Yii はコントローラクラスの中でアクションのメソッドとアクションでないメソッドを区別するために、`action` という接頭を使います。
`action` という接頭の後の名前がアクション ID にマップされます。
Yii はコントローラクラスの中でアクションのメソッドとアクションでないメソッドを区別するために、`action` という接頭を使います。
`action` という接頭の後の名前がアクション ID にマップされます。
アクションを命名するについては、Yii がアクション ID をどのように取り扱うかを知っているべきです。
アクション ID は常に小文字で参照されます。
アクション ID が複数の単語を必要とするときは、単語がダッシュ(-)で連結されます (例えば、`create-comment`)。
アクションメソッドの名前は、アクション ID からダッシュを全て削除し、各単語の先頭の文字を大文字にした結果に `action` という接頭を付けたものとします。
アクションメソッドの名前は、アクション ID からダッシュを全て削除し、各単語の先頭の文字を大文字にした結果に `action` という接頭を付けたものとします。
例えば、アクション ID `create-comment` に対応するアクションメソッド名は `actionCreateComment` となります。
私たちの例では、このアクションメソッドは `$message` というパラメータを取ります。
そして、このパラメータは `"Hello"` という既定値を取ります
(PHP で関数やメソッドの引数について既定値をセットするのと全く同じ方法を使います)。
アプリケーションは、リクエストを受け取って、当該リクエストの処理を `say` アクションに任せると決定した場合、リクエストの中に同じ名前の付いたパラメータがあれば、それをこのパラメータに代入します。
言い換えれば、もしリクエストに `"GoodBye"` という値の `message` パラメータが入っていれば、アクションの `$message` 変数にその値が割り当てられます。
言い換えれば、もしリクエストに `"GoodBye"` という値の `message` パラメータが入っていれば、アクションの `$message` 変数にその値が割り当てられます。
このアクションメソッドの中では、[[yii\web\Controller::render()|render()]] が呼ばれて `say` と言う名前の [ビュー](structure-views.md) ファイルが表示されます。
このアクションメソッドの中では、[[yii\web\Controller::render()|render()]] が呼ばれて `say` と言う名前の [ビュー](structure-views.md) ファイルがレンダリングされます。
`message` パラメータも同時にビューに渡され、そこで使用されます。
表示結果はアクションメソッドによって返されます。
レンダリング結果はアクションメソッドによって返されます。
返された結果はアプリケーションによって受け取られ、ブラウザ上でエンドユーザに(完全な HTML ページの一部として)表示されます。
ビューを作成する<a name="creating-view"></a>
----------------
[ビュー](structure-views.md) は、レスポンスのコンテンツを生成するために書くスクリプトです。
[ビュー](structure-views.md) は、レスポンスのコンテンツを生成するためにあなたが書くスクリプトです。
「こんにちは」のタスクのためには、アクションメソッドから受け取った `message` パラメータを印字する `say` ビューを作成します:
```php
......@@ -126,7 +126,7 @@ URL から `message` パラメータを省略すると、"Hello" だけを表示
> Info|情報: アクションと同じく、コントローラもまたアプリケーションの中で一意に定義される ID を持ちます。
コントローラ ID も、アクション ID と同じ命名規則を使います。
コントローラクラスの名前は、コントローラ ID からダッシュを削除し、各単語の最初の文字を大文字にし、結果として出来る文字列に `Controller` という接尾を追加したものとします。
コントローラクラスの名前は、コントローラ ID からダッシュを削除し、各単語の最初の文字を大文字にし、結果として出来る文字列に `Controller` という接尾を追加したものとします。
例えば、`post-comment` というコントローラ ID に対応するコントローラクラスの名前は `PostCommentController` です。
......
......@@ -69,7 +69,7 @@ Yii は [モデル・ビュー・コントローラ (MVC)](http://wikipedia.org/
各アプリケーションは一つのエントリスクリプト `web/index.php` を持ちます。これはアプリケーション中で唯一ウェブからアクセス可能な PHP スクリプトです。
エントリスクリプトは入力されたリクエストを受け取って、[アプリケーション](structure-applications.md) のインスタンスを作成します。
[アプリケーション](structure-applications.md)[コンポーネント](concept-components.md) の助力を得てリクエストを解決し、リクエストを MVC 要素に対して送出します。
[アプリケーション](structure-applications.md)[コンポーネント](concept-components.md) の助力を得てリクエストを解決し、リクエストを MVC に送付します。
[ウィジェット](structure-widgets.md) は、複雑で動的なユーザインタフェイス要素を構築するために、[ビュー](structure-views.md) の中で使われます。
......@@ -90,7 +90,7 @@ Yii は [モデル・ビュー・コントローラ (MVC)](http://wikipedia.org/
6. 一つでもフィルタが失敗したときは、アクションはキャンセルされます。
7. すべてのフィルタを通ったとき、アクションが実行されます。
8. アクションはデータモデルを、おそらくはデータベースから、読み出します。
9. アクションはデータモデルをビューに提供して、ビューを表示します。
10. 表示された結果が [レスポンス](runtime-responses.md) アプリケーションコンポーネントに返されます。
11. レスポンスコンポーネントが表示された結果をユーザのブラウザに送信します。
9. アクションはデータモデルをビューに提供して、ビューをレンダリングします。
10. レンダリング結果が [レスポンス](runtime-responses.md) アプリケーションコンポーネントに返されます。
11. レスポンスコンポーネントがレンダリング結果をユーザのブラウザに送信します。
......@@ -115,5 +115,5 @@ Yii 縺ョ繧「繝励Μ繧ア繝シ繧キ繝ァ繝ウ縺後Θ繝シ繧カ繝ェ繧ッ繧ィ繧ケ繝医r蜃ヲ逅☆繧九%縺ィ
* [[yii\web\User|user]]: ユーザの認証情報を表現します。
このコンポーネントは、[[yii\web\Application|ウェブアプリケーション]] においてのみ利用できます。.
更なる詳細は [認証](security-authentication.md) の節を参照してください。
* [[yii\web\View|view]]: ビューの描画をサポートします。
* [[yii\web\View|view]]: ビューのレンダリングをサポートします
更なる詳細は [ビュー](structure-views.md) の節を参照してください。
......@@ -426,7 +426,7 @@ $width = \Yii::$app->params['thumbnail.size'][0];
#### [[yii\base\Application::layout|layout]] <a name="layout"></a>
このプロパティは、[ビュー](structure-views.md) を描画するときに使われるべきデフォルトのレイアウトを規定します。
このプロパティは、[ビュー](structure-views.md) をレンダリングするときに使われるべきデフォルトのレイアウトを規定します。
デフォルト値は `'main'` であり、[レイアウトパス](#layoutPath) の下にある `main.php` というファイルが使われるべき事を意味します。
[レイアウトパス](#layoutPath) と [ビューパス](#viewPath) の両方がデフォルト値を取る場合、
デフォルトのレイアウトファイルは `@app/views/layouts/main.php` というパスエイリアスとして表すことが出来ます。
......
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