Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
Y
yii2
Project
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Commits
Issue Boards
Open sidebar
Rotua Panjaitan
yii2
Commits
4922cb1f
Commit
4922cb1f
authored
Jan 31, 2015
by
Alexander Makarov
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #7111 from softark/docs-guide-ja-structure-rev
Docs guide ja structure rev [ci skip]
parents
df9a8896
4bb175a4
Show whitespace changes
Inline
Side-by-side
Showing
34 changed files
with
104 additions
and
118 deletions
+104
-118
concept-events.md
docs/guide-ja/concept-events.md
+1
-1
db-active-record.md
docs/guide-ja/db-active-record.md
+5
-5
db-dao.md
docs/guide-ja/db-dao.md
+1
-1
db-migrations.md
docs/guide-ja/db-migrations.md
+2
-2
db-query-builder.md
docs/guide-ja/db-query-builder.md
+1
-1
helper-overview.md
docs/guide-ja/helper-overview.md
+1
-1
input-validation.md
docs/guide-ja/input-validation.md
+4
-4
intro-upgrade-from-v1.md
docs/guide-ja/intro-upgrade-from-v1.md
+1
-1
intro-yii.md
docs/guide-ja/intro-yii.md
+1
-1
output-data-widgets.md
docs/guide-ja/output-data-widgets.md
+2
-2
rest-quick-start.md
docs/guide-ja/rest-quick-start.md
+1
-1
rest-resources.md
docs/guide-ja/rest-resources.md
+1
-1
rest-versioning.md
docs/guide-ja/rest-versioning.md
+1
-1
runtime-handling-errors.md
docs/guide-ja/runtime-handling-errors.md
+2
-2
runtime-logging.md
docs/guide-ja/runtime-logging.md
+4
-4
runtime-requests.md
docs/guide-ja/runtime-requests.md
+1
-1
runtime-responses.md
docs/guide-ja/runtime-responses.md
+4
-4
runtime-routing.md
docs/guide-ja/runtime-routing.md
+5
-5
runtime-sessions-cookies.md
docs/guide-ja/runtime-sessions-cookies.md
+2
-2
start-gii.md
docs/guide-ja/start-gii.md
+1
-1
start-hello.md
docs/guide-ja/start-hello.md
+1
-1
start-installation.md
docs/guide-ja/start-installation.md
+2
-2
start-workflow.md
docs/guide-ja/start-workflow.md
+1
-1
structure-applications.md
docs/guide-ja/structure-applications.md
+2
-2
structure-assets.md
docs/guide-ja/structure-assets.md
+6
-6
structure-controllers.md
docs/guide-ja/structure-controllers.md
+1
-1
structure-entry-scripts.md
docs/guide-ja/structure-entry-scripts.md
+4
-4
structure-extensions.md
docs/guide-ja/structure-extensions.md
+2
-2
structure-filters.md
docs/guide-ja/structure-filters.md
+17
-26
structure-modules.md
docs/guide-ja/structure-modules.md
+10
-12
structure-overview.md
docs/guide-ja/structure-overview.md
+2
-2
structure-views.md
docs/guide-ja/structure-views.md
+6
-6
structure-widgets.md
docs/guide-ja/structure-widgets.md
+5
-8
test-fixtures.md
docs/guide-ja/test-fixtures.md
+4
-4
No files found.
docs/guide-ja/concept-events.md
View file @
4922cb1f
...
@@ -274,6 +274,6 @@ Yii::$app->trigger('bar', new Event(['sender' => new Foo]));
...
@@ -274,6 +274,6 @@ Yii::$app->trigger('bar', new Event(['sender' => new Foo]));
ということです。その代わりに、ハンドラのアタッチとイベントのトリガはともに、(アプリケーションのインスタンスなど) シングルトンを
ということです。その代わりに、ハンドラのアタッチとイベントのトリガはともに、(アプリケーションのインスタンスなど) シングルトンを
介して行われます。
介して行われます。
しかし、グローバルイベントの名前空間はあらゆる部分から共有されているので、
名前空間の整理
("frontend.mail.sent"、"backend.mail.sent" など)
しかし、グローバルイベントの名前空間はあらゆる部分から共有されているので、
ある種の名前空間
("frontend.mail.sent"、"backend.mail.sent" など)
を導入するというような、賢いグローバルイベントの名前付けをする必要があります。
を導入するというような、賢いグローバルイベントの名前付けをする必要があります。
docs/guide-ja/db-active-record.md
View file @
4922cb1f
...
@@ -101,7 +101,7 @@ $customer->save();
...
@@ -101,7 +101,7 @@ $customer->save();
----------------------
----------------------
アクティブレコードは、データベースとの間でデータを交換するために
[
[yii\db\Connection|DB 接続
]
] を使用します。
アクティブレコードは、データベースとの間でデータを交換するために
[
[yii\db\Connection|DB 接続
]
] を使用します。
既定
では、アクティブレコードは
`db`
[
アプリケーションコンポーネント
](
structure-application-components.md
)
を接続として使用します。
デフォルト
では、アクティブレコードは
`db`
[
アプリケーションコンポーネント
](
structure-application-components.md
)
を接続として使用します。
[
データベースの基礎
](
db-dao.md
)
で説明したように、次のようにして、アプリケーションの構成情報ファイルの中で
`db`
コンポーネントを構成することが出来ます。
[
データベースの基礎
](
db-dao.md
)
で説明したように、次のようにして、アプリケーションの構成情報ファイルの中で
`db`
コンポーネントを構成することが出来ます。
```
php
```
php
...
@@ -726,10 +726,10 @@ $orders = Order::find()->joinWith('books.author')->all();
...
@@ -726,10 +726,10 @@ $orders = Order::find()->joinWith('books.author')->all();
[
[yii\db\ActiveQuery::joinWith()|joinWith()
]
] を使うときは、カラム名の曖昧さを解決することについて、あなたが責任を負わなければなりません。
[
[yii\db\ActiveQuery::joinWith()|joinWith()
]
] を使うときは、カラム名の曖昧さを解決することについて、あなたが責任を負わなければなりません。
上記の例では、order テーブルと item テーブルがともに
`id`
という名前のカラムを持っているため、
`item.id`
と
`order.id`
を使って、
`id`
カラムの参照の曖昧さを解決しています。
上記の例では、order テーブルと item テーブルがともに
`id`
という名前のカラムを持っているため、
`item.id`
と
`order.id`
を使って、
`id`
カラムの参照の曖昧さを解決しています。
既定
では、リレーションを結合すると、リレーションがイーガーロードされることにもなります。
デフォルト
では、リレーションを結合すると、リレーションがイーガーロードされることにもなります。
この
既定
の動作は、指定されたリレーションをイーガーロードするかどうかを規定する
`$eagerLoading`
パラメータを渡して、変更することが出来ます。
この
デフォルト
の動作は、指定されたリレーションをイーガーロードするかどうかを規定する
`$eagerLoading`
パラメータを渡して、変更することが出来ます。
また、
既定
では、
[
[yii\db\ActiveQuery::joinWith()|joinWith()
]
] は関連テーブルを結合するのに
`LEFT JOIN`
を使います。
また、
デフォルト
では、
[
[yii\db\ActiveQuery::joinWith()|joinWith()
]
] は関連テーブルを結合するのに
`LEFT JOIN`
を使います。
結合タイプをカスタマイズするために
`$joinType`
パラメータを渡すことが出来ます。
結合タイプをカスタマイズするために
`$joinType`
パラメータを渡すことが出来ます。
`INNER JOIN`
タイプのためのショートカットとして、
[
[yii\db\ActiveQuery::innerJoinWith()|innerJoinWith()
]
] を使うことが出来ます。
`INNER JOIN`
タイプのためのショートカットとして、
[
[yii\db\ActiveQuery::innerJoinWith()|innerJoinWith()
]
] を使うことが出来ます。
...
@@ -980,7 +980,7 @@ class Post extends \yii\db\ActiveRecord
...
@@ -980,7 +980,7 @@ class Post extends \yii\db\ActiveRecord
楽観的ロックは、複数のユーザが編集のために同一のレコードにアクセスすることを許容しつつ、発生しうる衝突を回避するものです。
楽観的ロックは、複数のユーザが編集のために同一のレコードにアクセスすることを許容しつつ、発生しうる衝突を回避するものです。
例えば、ユーザが (別のユーザが先にデータを修正したために) 陳腐化したデータに対してレコードの保存を試みた場合は、
[
[\yii\db\StaleObjectException
]
] 例外が投げられて、更新または削除はスキップされます。
例えば、ユーザが (別のユーザが先にデータを修正したために) 陳腐化したデータに対してレコードの保存を試みた場合は、
[
[\yii\db\StaleObjectException
]
] 例外が投げられて、更新または削除はスキップされます。
楽観的ロックは、
`update()`
と
`delete()`
メソッドだけでサポートされ、
既定
では使用されません。
楽観的ロックは、
`update()`
と
`delete()`
メソッドだけでサポートされ、
デフォルト
では使用されません。
楽観的ロックを使用するためには、
楽観的ロックを使用するためには、
...
...
docs/guide-ja/db-dao.md
View file @
4922cb1f
...
@@ -530,7 +530,7 @@ $db->createCommand("UPDATE user SET username='demo' WHERE id=1")->execute();
...
@@ -530,7 +530,7 @@ $db->createCommand("UPDATE user SET username='demo' WHERE id=1")->execute();
> Note|注意: [[yii\db\Connection::masters|masters]] プロパティを使って一つまたは複数のマスタを構成する場合は、データベース接続を定義する `Connection` オブジェクト自体のその他のプロパティ (例えば、`dsn`、`username`、`password`) は全て無視されます。
> Note|注意: [[yii\db\Connection::masters|masters]] プロパティを使って一つまたは複数のマスタを構成する場合は、データベース接続を定義する `Connection` オブジェクト自体のその他のプロパティ (例えば、`dsn`、`username`、`password`) は全て無視されます。
既定
では、トランザクションはマスタ接続を使用します。そして、トランザクション内では、全ての DB 操作はマスタ接続を使用します。
デフォルト
では、トランザクションはマスタ接続を使用します。そして、トランザクション内では、全ての DB 操作はマスタ接続を使用します。
例えば、
例えば、
```
php
```
php
...
...
docs/guide-ja/db-migrations.md
View file @
4922cb1f
...
@@ -321,14 +321,14 @@ yii migrate/up --migrationPath=@app/modules/forum/migrations
...
@@ -321,14 +321,14 @@ yii migrate/up --migrationPath=@app/modules/forum/migrations
### 複数のデータベースのマイグレーション
### 複数のデータベースのマイグレーション
既定
では、マイグレーションは
`db`
[
アプリケーションコンポーネント
](
structure-application-components.md
)
によって指定されるデータベースに対して適用されます。
デフォルト
では、マイグレーションは
`db`
[
アプリケーションコンポーネント
](
structure-application-components.md
)
によって指定されるデータベースに対して適用されます。
これは、
`--db`
オプションを指定することによって変更することが出来ます。例えば、
これは、
`--db`
オプションを指定することによって変更することが出来ます。例えば、
```
```
yii migrate --db=db2
yii migrate --db=db2
```
```
上記のコマンドは、
既定
のマイグレーションパスに置かれている
*全ての*
マイグレーションを
`db2`
データベースに適用するものです。
上記のコマンドは、
デフォルト
のマイグレーションパスに置かれている
*全ての*
マイグレーションを
`db2`
データベースに適用するものです。
アプリケーションが複数のデータベースを扱っている場合は、いくつかのマイグレーションはあるデータベースに適用されなければならず、他のマイグレーションは別のデータベースに適用されなければならない、ということがあり得ます。
アプリケーションが複数のデータベースを扱っている場合は、いくつかのマイグレーションはあるデータベースに適用されなければならず、他のマイグレーションは別のデータベースに適用されなければならない、ということがあり得ます。
そのような場合には、異なるデータベースごとに基底マイグレーションクラスを作成して、下記のように
[
[yii\db\Migration::init()
]
] メソッドをオーバーライドすることを推奨します。
そのような場合には、異なるデータベースごとに基底マイグレーションクラスを作成して、下記のように
[
[yii\db\Migration::init()
]
] メソッドをオーバーライドすることを推奨します。
...
...
docs/guide-ja/db-query-builder.md
View file @
4922cb1f
...
@@ -445,7 +445,7 @@ foreach ($query->each() as $user) {
...
@@ -445,7 +445,7 @@ foreach ($query->each() as $user) {
[
[yii\db\Query::batch()
]
] メソッドと
[
[yii\db\Query::each()
]
] メソッドは
[
[yii\db\BatchQueryResult
]
] オブジェクトを返します。
[
[yii\db\Query::batch()
]
] メソッドと
[
[yii\db\Query::each()
]
] メソッドは
[
[yii\db\BatchQueryResult
]
] オブジェクトを返します。
このオブジェクトは
`Iterator`
インタフェイスを実装しており、従って、
`foreach`
構文の中で使うことが出来ます。
このオブジェクトは
`Iterator`
インタフェイスを実装しており、従って、
`foreach`
構文の中で使うことが出来ます。
初回の反復の際に、データベースに対する SQL クエリが作成されます。データは、その後、反復のたびにバッチモードで取得されます。
初回の反復の際に、データベースに対する SQL クエリが作成されます。データは、その後、反復のたびにバッチモードで取得されます。
既定
では、バッチサイズは 100 であり、各バッチにおいて 100 行のデータが取得されます。
デフォルト
では、バッチサイズは 100 であり、各バッチにおいて 100 行のデータが取得されます。
`batch()`
または
`each()`
メソッドに最初のパラメータを渡すことによって、バッチサイズを変更することが出来ます。
`batch()`
または
`each()`
メソッドに最初のパラメータを渡すことによって、バッチサイズを変更することが出来ます。
[
[yii\db\Query::all()
]
] とは対照的に、バッチクエリは一度に 100 行のデータしかメモリに読み込みません。
[
[yii\db\Query::all()
]
] とは対照的に、バッチクエリは一度に 100 行のデータしかメモリに読み込みません。
...
...
docs/guide-ja/helper-overview.md
View file @
4922cb1f
...
@@ -4,7 +4,7 @@
...
@@ -4,7 +4,7 @@
> Note|注意: この節はまだ執筆中です。
> Note|注意: この節はまだ執筆中です。
Yii は、一般的なコーディングのタスク、例えば、文字列や配列の操作、HTML コードの生成などを手助けする多くのクラスを提供しています。
Yii は、一般的なコーディングのタスク、例えば、文字列や配列の操作、HTML コードの生成などを手助けする多くのクラスを提供しています。
これらのヘルパクラスは
`yii\helpers`
名前空間の下に
組織
されており、すべてスタティックなクラス (すなわち、スタティックなプロパティとメソッドのみを含み、インスタンス化すべきでないクラス) です。
これらのヘルパクラスは
`yii\helpers`
名前空間の下に
編成
されており、すべてスタティックなクラス (すなわち、スタティックなプロパティとメソッドのみを含み、インスタンス化すべきでないクラス) です。
ヘルパクラスは、そのスタティックなメソッドの一つを直接に呼び出すことによって使用します。
ヘルパクラスは、そのスタティックなメソッドの一つを直接に呼び出すことによって使用します。
例えば、
例えば、
...
...
docs/guide-ja/input-validation.md
View file @
4922cb1f
...
@@ -114,10 +114,10 @@ public function rules()
...
@@ -114,10 +114,10 @@ public function rules()
[
[yii\base\Model::validate()
]
] は、呼び出されると、バリデーションプロセスをカスタマイズするためにオーバーライドできる二つのメソッドを呼び出します。
[
[yii\base\Model::validate()
]
] は、呼び出されると、バリデーションプロセスをカスタマイズするためにオーバーライドできる二つのメソッドを呼び出します。
*
[
[yii\base\Model::beforeValidate()
]
]:
既定
の実装は
[
[yii\base\Model::EVENT_BEFORE_VALIDATE
]
] イベントをトリガするものです。
*
[
[yii\base\Model::beforeValidate()
]
]:
デフォルト
の実装は
[
[yii\base\Model::EVENT_BEFORE_VALIDATE
]
] イベントをトリガするものです。
このメソッドをオーバーライドするか、または、イベントに反応して、バリデーションが実行される前に、何らかの前処理 (例えば入力されたデータの正規化) をすることが出来ます。
このメソッドをオーバーライドするか、または、イベントに反応して、バリデーションが実行される前に、何らかの前処理 (例えば入力されたデータの正規化) をすることが出来ます。
このメソッドは、バリデーションを続行すべきか否かを示す真偽値を返さなくてはなりません。
このメソッドは、バリデーションを続行すべきか否かを示す真偽値を返さなくてはなりません。
*
[
[yii\base\Model::afterValidate()
]
]:
既定
の実装は
[
[yii\base\Model::EVENT_AFTER_VALIDATE
]
] イベントをトリガするものです。
*
[
[yii\base\Model::afterValidate()
]
]:
デフォルト
の実装は
[
[yii\base\Model::EVENT_AFTER_VALIDATE
]
] イベントをトリガするものです。
このメソッドをオーバーライドするか、または、イベントに反応して、バリデーションが完了した後に、何らかの後処理をすることが出来ます。
このメソッドをオーバーライドするか、または、イベントに反応して、バリデーションが完了した後に、何らかの後処理をすることが出来ます。
...
@@ -195,7 +195,7 @@ HTML フォームから入力データが送信されたとき、入力値が空
...
@@ -195,7 +195,7 @@ HTML フォームから入力データが送信されたとき、入力値が空
]
]
```
```
既定
では、入力値が空であると見なされるのは、それが、空文字列であるか、空配列であるか、null であるときです。
デフォルト
では、入力値が空であると見なされるのは、それが、空文字列であるか、空配列であるか、null であるときです。
空を検知するこのデフォルトのロジックは、
[
[yii\validators\Validator::isEmpty
]
] プロパティを PHP コーラブルで構成することによって、カスタマイズすることが出来ます。
空を検知するこのデフォルトのロジックは、
[
[yii\validators\Validator::isEmpty
]
] プロパティを PHP コーラブルで構成することによって、カスタマイズすることが出来ます。
例えば、
例えば、
...
@@ -330,7 +330,7 @@ class MyForm extends Model
...
@@ -330,7 +330,7 @@ class MyForm extends Model
}
}
```
```
> Note|注意:
既定
では、インラインバリデータは、関連付けられている属性が空の入力値を受け取ったり、既に何らかのバリデーション規則に失敗したりしている場合には、適用されません。
> Note|注意:
デフォルト
では、インラインバリデータは、関連付けられている属性が空の入力値を受け取ったり、既に何らかのバリデーション規則に失敗したりしている場合には、適用されません。
> 規則が常に適用されることを保証したい場合は、規則の宣言において [[yii\validators\Validator::skipOnEmpty|skipOnEmpty]] および/または [[yii\validators\Validator::skipOnError|skipOnError]] のプロパティを false に設定することが出来ます。
> 規則が常に適用されることを保証したい場合は、規則の宣言において [[yii\validators\Validator::skipOnEmpty|skipOnEmpty]] および/または [[yii\validators\Validator::skipOnError|skipOnError]] のプロパティを false に設定することが出来ます。
> 例えば、
> 例えば、
>
>
...
...
docs/guide-ja/intro-upgrade-from-v1.md
View file @
4922cb1f
...
@@ -273,7 +273,7 @@ ActiveForm::end();
...
@@ -273,7 +273,7 @@ ActiveForm::end();
コンソールアプリケーション
コンソールアプリケーション
--------------------------
--------------------------
コンソールアプリケーションは、ウェブアプリケーションと同じように、コントローラとして
組織
されるようになりました。
コンソールアプリケーションは、ウェブアプリケーションと同じように、コントローラとして
編成
されるようになりました。
1.
1 における
`CConsoleCommand`
と同様に、コンソールコントローラは
[
[yii\console\Controller
]
] を拡張したものでなければなりません。
1.
1 における
`CConsoleCommand`
と同様に、コンソールコントローラは
[
[yii\console\Controller
]
] を拡張したものでなければなりません。
コンソールコマンドを走らせるためには、
`yii <route>`
という構文を使います。
コンソールコマンドを走らせるためには、
`yii <route>`
という構文を使います。
...
...
docs/guide-ja/intro-yii.md
View file @
4922cb1f
...
@@ -19,7 +19,7 @@ Yii を他のフレームワークと比べると
...
@@ -19,7 +19,7 @@ Yii を他のフレームワークと比べると
あなたが既に他のフレームワークに親しんでいる場合は、Yii を比較するとどうなのかを知りたいでしょう。
あなたが既に他のフレームワークに親しんでいる場合は、Yii を比較するとどうなのかを知りたいでしょう。
-
ほとんどの PHP フレームワーク同様、Yii は MVC (Model-View-Controller) デザインパターンを実装し、このパターンに基づいたコードの
組織化
を推進しています。
-
ほとんどの PHP フレームワーク同様、Yii は MVC (Model-View-Controller) デザインパターンを実装し、このパターンに基づいたコードの
編成
を推進しています。
-
Yii は、コードはシンプルかつエレガントに書かれるべきである、という哲学を採用しています。
-
Yii は、コードはシンプルかつエレガントに書かれるべきである、という哲学を採用しています。
何らかのデザインパターンの厳密な遵守を主な目的とする凝りすぎた設計を、Yii がしようと試みることは決してありません。
何らかのデザインパターンの厳密な遵守を主な目的とする凝りすぎた設計を、Yii がしようと試みることは決してありません。
-
Yii はフル装備のフレームワークです。
-
Yii はフル装備のフレームワークです。
...
...
docs/guide-ja/output-data-widgets.md
View file @
4922cb1f
...
@@ -141,7 +141,7 @@ echo GridView::widget([
...
@@ -141,7 +141,7 @@ echo GridView::widget([
'username'
,
'username'
,
// 複雑なカラム定義
// 複雑なカラム定義
[
[
'class'
=>
'yii\grid\DataColumn'
,
// 省略可。これが
既定
値。
'class'
=>
'yii\grid\DataColumn'
,
// 省略可。これが
デフォルト
値。
'value'
=>
function
(
$data
)
{
'value'
=>
function
(
$data
)
{
return
$data
->
name
;
// 配列データの場合は $data['name']。例えば、SqlDataProvider を使う場合。
return
$data
->
name
;
// 配列データの場合は $data['name']。例えば、SqlDataProvider を使う場合。
},
},
...
@@ -388,7 +388,7 @@ echo GridView::widget([
...
@@ -388,7 +388,7 @@ echo GridView::widget([
GridView でアクティブレコードを表示するときに、リレーションのカラムの値、例えば、単に投稿者の `id` というのではなく、投稿者の名前を表示するという場合に遭遇するかも知れません。
GridView でアクティブレコードを表示するときに、リレーションのカラムの値、例えば、単に投稿者の `id` というのではなく、投稿者の名前を表示するという場合に遭遇するかも知れません。
`Post` モデルが `author` という名前のリレーションを持っていて、その投稿者のモデルが `name` という属性を持っているなら、カラムの属性名を `author.name` と定義します。
`Post` モデルが `author` という名前のリレーションを持っていて、その投稿者のモデルが `name` という属性を持っているなら、カラムの属性名を `author.name` と定義します。
そうすれば、GridView が投稿者の名前を表示するようになります。
そうすれば、GridView が投稿者の名前を表示するようになります。
ただし、並べ替えとフィルタリングは、
既定
では有効になりません。
ただし、並べ替えとフィルタリングは、
デフォルト
では有効になりません。
これらの機能を追加するためには、前の項で導入した `PostSearch` モデルを調整しなければなりません。
これらの機能を追加するためには、前の項で導入した `PostSearch` モデルを調整しなければなりません。
リレーションのカラムによる並べ替えを有効にするためには、リレーションのテーブルを結合し、データプロバイダの Sort コンポーネントに並べ替えの規則を追加します。
リレーションのカラムによる並べ替えを有効にするためには、リレーションのテーブルを結合し、データプロバイダの Sort コンポーネントに並べ替えの規則を追加します。
...
...
docs/guide-ja/rest-quick-start.md
View file @
4922cb1f
...
@@ -188,7 +188,7 @@ Content-Type: application/json; charset=UTF-8
...
@@ -188,7 +188,7 @@ Content-Type: application/json; charset=UTF-8
## まとめ <span id="summary"></span>
## まとめ <span id="summary"></span>
Yii の RESTful API フレームワークを使う場合は、API エンドポイントをコントローラアクションの形式で実装します。
Yii の RESTful API フレームワークを使う場合は、API エンドポイントをコントローラアクションの形式で実装します。
そして、コントローラを使って、単一タイプのリソースに対するエンドポイントを実装するアクションを
組織化
します。
そして、コントローラを使って、単一タイプのリソースに対するエンドポイントを実装するアクションを
編成
します。
リソースは
[
[yii\base\Model
]
] クラスを拡張するデータモデルとして表現されます。
リソースは
[
[yii\base\Model
]
] クラスを拡張するデータモデルとして表現されます。
データベース (リレーショナルまたは NoSQL) を扱っている場合は、
[
[yii\db\ActiveRecord|ActiveRecord
]
] を使ってリソースを表現することが推奨されます。
データベース (リレーショナルまたは NoSQL) を扱っている場合は、
[
[yii\db\ActiveRecord|ActiveRecord
]
] を使ってリソースを表現することが推奨されます。
...
...
docs/guide-ja/rest-resources.md
View file @
4922cb1f
...
@@ -85,7 +85,7 @@ public function fields()
...
@@ -85,7 +85,7 @@ public function fields()
}
}
```
```
> Warning|警告:
既定
ではモデルの全ての属性がエクスポートされる配列に含まれるため、データを精査して、
> Warning|警告:
デフォルト
ではモデルの全ての属性がエクスポートされる配列に含まれるため、データを精査して、
> 公開すべきでない情報が含まれていないことを確認すべきです。そういう情報がある場合は、
> 公開すべきでない情報が含まれていないことを確認すべきです。そういう情報がある場合は、
> `fields()` をオーバーライドして、除去すべきです。上記の例では、`auth_key`、`password_hash`
> `fields()` をオーバーライドして、除去すべきです。上記の例では、`auth_key`、`password_hash`
> および `password_reset_token` を選んで除去しています。
> および `password_reset_token` を選んで除去しています。
...
...
docs/guide-ja/rest-versioning.md
View file @
4922cb1f
...
@@ -34,7 +34,7 @@ Accept: application/vnd.company.myapp-v1+json
...
@@ -34,7 +34,7 @@ Accept: application/vnd.company.myapp-v1+json
コードの責任範囲をより良く分離するために、共通の基底のリソースとコントローラのクラスを保持して、それをバージョンごとの個別のモジュールでサブクラス化することが出来ます。
コードの責任範囲をより良く分離するために、共通の基底のリソースとコントローラのクラスを保持して、それをバージョンごとの個別のモジュールでサブクラス化することが出来ます。
サブクラスの中で、
`Model::fields()`
のような具体的なコードを実装します。
サブクラスの中で、
`Model::fields()`
のような具体的なコードを実装します。
あなたのコードを次のように
組織
することが出来ます。
あなたのコードを次のように
編成
することが出来ます。
```
```
api/
api/
...
...
docs/guide-ja/runtime-handling-errors.md
View file @
4922cb1f
...
@@ -9,7 +9,7 @@ Yii は、エラー処理を従来よりはるかに快適な経験にしてく
...
@@ -9,7 +9,7 @@ Yii は、エラー処理を従来よりはるかに快適な経験にしてく
*
エラーを表示するために専用の
[
コントローラアクション
](
structure-controllers.md#actions
)
を使うことがサポートされています。
*
エラーを表示するために専用の
[
コントローラアクション
](
structure-controllers.md#actions
)
を使うことがサポートされています。
*
さまざまなエラーレスポンス形式をサポートしています。
*
さまざまなエラーレスポンス形式をサポートしています。
[
[yii\web\ErrorHandler|エラーハンドラ
]
] は
既定
で有効になっています。
[
[yii\web\ErrorHandler|エラーハンドラ
]
] は
デフォルト
で有効になっています。
アプリケーションの
[
エントリスクリプト
](
structure-entry-scripts.md
)
において、定数
`YII_ENABLE_ERROR_HANDLER`
を false と定義することによって、これを無効にすることが出来ます。
アプリケーションの
[
エントリスクリプト
](
structure-entry-scripts.md
)
において、定数
`YII_ENABLE_ERROR_HANDLER`
を false と定義することによって、これを無効にすることが出来ます。
...
@@ -65,7 +65,7 @@ throw new NotFoundHttpException();
...
@@ -65,7 +65,7 @@ throw new NotFoundHttpException();
> Info|情報: 例外が [[yii\base\UserException]] の子孫である場合は、`YII_DEBUG` の値の如何にかかわらず、コールスタックは表示されません。
> Info|情報: 例外が [[yii\base\UserException]] の子孫である場合は、`YII_DEBUG` の値の如何にかかわらず、コールスタックは表示されません。
これは、この種の例外はユーザの誤操作によって引き起こされるものであり、開発者は何も修正する必要がないと考えられるからです。
これは、この種の例外はユーザの誤操作によって引き起こされるものであり、開発者は何も修正する必要がないと考えられるからです。
既定
では、
[
[yii\web\ErrorHandler|エラーハンドラ
]
] は二つの
[
ビュー
](
structure-views.md
)
を使ってエラーを表示します。
デフォルト
では、
[
[yii\web\ErrorHandler|エラーハンドラ
]
] は二つの
[
ビュー
](
structure-views.md
)
を使ってエラーを表示します。
*
`@yii/views/errorHandler/error.php`
: エラーがコールスタック情報なしで表示されるべき場合に使用されます。
*
`@yii/views/errorHandler/error.php`
: エラーがコールスタック情報なしで表示されるべき場合に使用されます。
`YII_DEBUG`
が false の場合、これが表示される唯一のビューとなります。
`YII_DEBUG`
が false の場合、これが表示される唯一のビューとなります。
...
...
docs/guide-ja/runtime-logging.md
View file @
4922cb1f
...
@@ -32,9 +32,9 @@ Yii::trace('平均収益の計算を開始');
...
@@ -32,9 +32,9 @@ Yii::trace('平均収益の計算を開始');
> Info|情報: ログメッセージは文字列でも、配列やオブジェクトのような複雑なデータでも構いません。
> Info|情報: ログメッセージは文字列でも、配列やオブジェクトのような複雑なデータでも構いません。
ログメッセージを適切に取り扱うのは
[
ログターゲット
](
#log-targets
)
の責任です。
ログメッセージを適切に取り扱うのは
[
ログターゲット
](
#log-targets
)
の責任です。
既定
では、ログメッセージが文字列でない場合は、
[
[yii\helpers\VarDumper::export()
]
] が呼ばれて文字列に変換されることになります。
デフォルト
では、ログメッセージが文字列でない場合は、
[
[yii\helpers\VarDumper::export()
]
] が呼ばれて文字列に変換されることになります。
ログメッセージを上手に
整理
しフィルタするために、すべてのログメッセージにそれぞれ適切なカテゴリを指定することが推奨されます。
ログメッセージを上手に
編成
しフィルタするために、すべてのログメッセージにそれぞれ適切なカテゴリを指定することが推奨されます。
カテゴリに階層的な命名方法を採用すると、
[
ログターゲット
](
#log-targets
)
がカテゴリに基づいてメッセージをフィルタすることが容易になります。
カテゴリに階層的な命名方法を採用すると、
[
ログターゲット
](
#log-targets
)
がカテゴリに基づいてメッセージをフィルタすることが容易になります。
簡単でしかも効果的な命名方法は、カテゴリ名に PHP のマジック定数
`__METHOD__`
を使用することです。
簡単でしかも効果的な命名方法は、カテゴリ名に PHP のマジック定数
`__METHOD__`
を使用することです。
これは、Yii フレームワークのコアコードでも使われている方法です。例えば、
これは、Yii フレームワークのコアコードでも使われている方法です。例えば、
...
@@ -168,7 +168,7 @@ Yii は下記のログターゲットをあらかじめ内蔵しています。
...
@@ -168,7 +168,7 @@ Yii は下記のログターゲットをあらかじめ内蔵しています。
2014-10-04 18:10:15 [::1][][-][trace][yii\base\Module::getModule] Loading module: debug
2014-10-04 18:10:15 [::1][][-][trace][yii\base\Module::getModule] Loading module: debug
```
```
既定
では、ログメッセージは [[yii\log\Target::formatMessage()]] によって、下記のように書式設定されます。
デフォルト
では、ログメッセージは [[yii\log\Target::formatMessage()]] によって、下記のように書式設定されます。
```
```
タイムスタンプ [IP アドレス][ユーザ ID][セッション ID][重要性レベル][カテゴリ] メッセージテキスト
タイムスタンプ [IP アドレス][ユーザ ID][セッション ID][重要性レベル][カテゴリ] メッセージテキスト
...
@@ -191,7 +191,7 @@ Yii は下記のログターゲットをあらかじめ内蔵しています。
...
@@ -191,7 +191,7 @@ Yii は下記のログターゲットをあらかじめ内蔵しています。
```
```
メッセージ前置情報以外にも、ログターゲットは、一群のログメッセージごとに一定のコンテキスト情報を追加します。
メッセージ前置情報以外にも、ログターゲットは、一群のログメッセージごとに一定のコンテキスト情報を追加します。
既定
では、その情報には、次のグローバル PHP 変数、すなわち、`
$_GET
`、`
$_POST
`、`
$_FILES
`、`
$_COOKIE
`、`
$_SESSION
` および `
$_SERVER
` の値が含まれます。
デフォルト
では、その情報には、次のグローバル PHP 変数、すなわち、`
$_GET
`、`
$_POST
`、`
$_FILES
`、`
$_COOKIE
`、`
$_SESSION
` および `
$_SERVER
` の値が含まれます。
ログターゲットに含ませたいグローバル変数の名前を [[yii\log\Target::logVars]] プロパティに設定することによって、この動作を調整することが出来ます。
ログターゲットに含ませたいグローバル変数の名前を [[yii\log\Target::logVars]] プロパティに設定することによって、この動作を調整することが出来ます。
例えば、次のログターゲットの構成は、`
$_SERVER
` の値だけがログメッセージに追加されるように指定するものです。
例えば、次のログターゲットの構成は、`
$_SERVER
` の値だけがログメッセージに追加されるように指定するものです。
...
...
docs/guide-ja/runtime-requests.md
View file @
4922cb1f
...
@@ -2,7 +2,7 @@
...
@@ -2,7 +2,7 @@
==========
==========
アプリケーションに対するリクエストは、リクエストのパラメータ、HTTP ヘッダ、クッキーなどの情報を提供する
[
[yii\web\Request
]
] オブジェクトの形で表されます。
アプリケーションに対するリクエストは、リクエストのパラメータ、HTTP ヘッダ、クッキーなどの情報を提供する
[
[yii\web\Request
]
] オブジェクトの形で表されます。
与えられたリクエストに対応するリクエストオブジェクトには、
既定
では
[
[yii\web\Request
]
] のインスタンスである
`request`
[
アプリケーションコンポーネント
](
structure-application-components.md
)
を通じてアクセスすることが出来ます。
与えられたリクエストに対応するリクエストオブジェクトには、
デフォルト
では
[
[yii\web\Request
]
] のインスタンスである
`request`
[
アプリケーションコンポーネント
](
structure-application-components.md
)
を通じてアクセスすることが出来ます。
この節では、アプリケーションの中でこのコンポーネントをどのように利用できるかを説明します。
この節では、アプリケーションの中でこのコンポーネントをどのように利用できるかを説明します。
...
...
docs/guide-ja/runtime-responses.md
View file @
4922cb1f
...
@@ -6,7 +6,7 @@
...
@@ -6,7 +6,7 @@
ウェブアプリケーション開発の最終的な目的は、本質的には、さまざまなリクエストに対してそのようなレスポンスオブジェクトを作成することにあります。
ウェブアプリケーション開発の最終的な目的は、本質的には、さまざまなリクエストに対してそのようなレスポンスオブジェクトを作成することにあります。
ほとんどの場合は、主として
`response`
[
アプリケーションコンポーネント
](
structure-application-components.md
)
を使用すべきです。
ほとんどの場合は、主として
`response`
[
アプリケーションコンポーネント
](
structure-application-components.md
)
を使用すべきです。
このコンポーネントは、
既定
では、
[
[yii\web\Response
]
] のインスタンスです。
このコンポーネントは、
デフォルト
では、
[
[yii\web\Response
]
] のインスタンスです。
しかしながら、Yii は、以下で説明するように、あなた自身のレスポンスオブジェクトを作成してエンドユーザに送信することも許容しています。
しかしながら、Yii は、以下で説明するように、あなた自身のレスポンスオブジェクトを作成してエンドユーザに送信することも許容しています。
この節では、レスポンスを構成してエンドユーザに送信する方法を説明します。
この節では、レスポンスを構成してエンドユーザに送信する方法を説明します。
...
@@ -23,7 +23,7 @@ Yii::$app->response->statusCode = 200;
...
@@ -23,7 +23,7 @@ Yii::$app->response->statusCode = 200;
```
```
けれども、たいていの場合、ステータスコードを明示的に設定する必要はありません。
けれども、たいていの場合、ステータスコードを明示的に設定する必要はありません。
これは、
[
[yii\web\Response::statusCode
]
] の
既定
値が 200 であるからです。
これは、
[
[yii\web\Response::statusCode
]
] の
デフォルト
値が 200 であるからです。
そして、リクエストが失敗したことを示したいときは、下記のように、適切な HTTP 例外を投げることが出来ます。
そして、リクエストが失敗したことを示したいときは、下記のように、適切な HTTP 例外を投げることが出来ます。
```
php
```
php
...
@@ -183,7 +183,7 @@ public function actionOld()
...
@@ -183,7 +183,7 @@ public function actionOld()
\Yii
::
$app
->
response
->
redirect
(
'http://example.com/new'
,
301
)
->
send
();
\Yii
::
$app
->
response
->
redirect
(
'http://example.com/new'
,
301
)
->
send
();
```
```
> Info|情報:
既定
では、[[yii\web\Response::redirect()]] メソッドはレスポンスのステータスコードを 302 にセットします。
> Info|情報:
デフォルト
では、[[yii\web\Response::redirect()]] メソッドはレスポンスのステータスコードを 302 にセットします。
これはブラウザに対して、リクエストされているリソースが
*一時的に*
異なる URI に配置されていることを示すものです。
これはブラウザに対して、リクエストされているリソースが
*一時的に*
異なる URI に配置されていることを示すものです。
ブラウザに対してリソースが
*恒久的に*
配置替えされたことを教えるためには、ステータスコード 301 を渡すことが出来ます。
ブラウザに対してリソースが
*恒久的に*
配置替えされたことを教えるためには、ステータスコード 301 を渡すことが出来ます。
...
@@ -238,7 +238,7 @@ public function actionDownload()
...
@@ -238,7 +238,7 @@ public function actionDownload()
## レスポンスを送信する <span id="sending-response"></span>
## レスポンスを送信する <span id="sending-response"></span>
レスポンスの中のコンテントは、
[
[yii\web\Response::send()
]
] メソッドが呼ばれるまでは、エンドユーザに向けて送信されません。
レスポンスの中のコンテントは、
[
[yii\web\Response::send()
]
] メソッドが呼ばれるまでは、エンドユーザに向けて送信されません。
既定
では、このメソッドは
[
[yii\base\Application::run()
]
] の最後で自動的に呼ばれます。
デフォルト
では、このメソッドは
[
[yii\base\Application::run()
]
] の最後で自動的に呼ばれます。
しかし、このメソッドを明示的に呼んで、強制的にレスポンスを即座に送信することも可能です。
しかし、このメソッドを明示的に呼んで、強制的にレスポンスを即座に送信することも可能です。
[
[yii\web\Response::send()
]
] メソッドは次のステップを踏んでレスポンスを送出します。
[
[yii\web\Response::send()
]
] メソッドは次のステップを踏んでレスポンスを送出します。
...
...
docs/guide-ja/runtime-routing.md
View file @
4922cb1f
...
@@ -84,7 +84,7 @@ $url = Url::to(['post/view', 'id' => 100]);
...
@@ -84,7 +84,7 @@ $url = Url::to(['post/view', 'id' => 100]);
### デフォルトルート <span id="default-route"></span>
### デフォルトルート <span id="default-route"></span>
リクエストから解析されたルートが空になった場合は、いわゆる
*デフォルトルート*
が代りに使用されることになります。
リクエストから解析されたルートが空になった場合は、いわゆる
*デフォルトルート*
が代りに使用されることになります。
既定では
、デフォルトルートは
`site/index`
であり、
`site`
コントローラの
`index`
アクションを指します。
デフォルトでは、
デフォルトルートは
`site/index`
であり、
`site`
コントローラの
`index`
アクションを指します。
デフォルトルートは、次のように、アプリケーションの構成情報の中でアプリケーションの
[
[yii\web\Application::defaultRoute|defaultRoute
]
] プロパティを構成することによって、カスタマイズすることが出来ます。
デフォルトルートは、次のように、アプリケーションの構成情報の中でアプリケーションの
[
[yii\web\Application::defaultRoute|defaultRoute
]
] プロパティを構成することによって、カスタマイズすることが出来ます。
```
php
```
php
...
@@ -296,7 +296,7 @@ URL 隕丞援縺ッ縲√後ヱ繧ソ繝シ繝ウ - 繝ォ繝シ繝医阪繝壹い縺ィ縺励※螳」險縺吶k莉・
...
@@ -296,7 +296,7 @@ URL 隕丞援縺ッ縲√後ヱ繧ソ繝シ繝ウ - 繝ォ繝シ繝医阪繝壹い縺ィ縺励※螳」險縺吶k莉・
]
]
```
```
規則の構成情報で `
class
` を指定しない場合は、既定として、
[[yi
i\web\UrlRule]] が使われます。
規則の構成情報で `
class
` を指定しない場合は、デフォルトと
して、[[yii\
web\UrlRule]] が使われます。
### 名前付きパラメータ <span id="named-parameters"></span>
### 名前付きパラメータ <span id="named-parameters"></span>
...
@@ -327,7 +327,7 @@ URL 隕丞援縺ッ縲√ヱ繧ソ繝シ繝ウ縺ョ荳ュ縺ァ `<ParamName:RgExp>` 縺ョ蠖「蠑上〒謖ョ壹&
...
@@ -327,7 +327,7 @@ URL 隕丞援縺ッ縲√ヱ繧ソ繝シ繝ウ縺ョ荳ュ縺ァ `<ParamName:RgExp>` 縺ョ蠖「蠑上〒謖ョ壹&
- `
/index.php/posts/2014/php
` は、最初の規則を使って解析され、ルートは `
post/index
`、`
year
` パラメータの値は 2014、そして、`
category
` パラメータの値は `
php
` となります。
- `
/index.php/posts/2014/php
` は、最初の規則を使って解析され、ルートは `
post/index
`、`
year
` パラメータの値は 2014、そして、`
category
` パラメータの値は `
php
` となります。
- `
/index.php/post/100
` は、三番目の規則を使って解析され、ルートが `
post/view
`、`
id
` パラメータの値が 100 となります。
- `
/index.php/post/100
` は、三番目の規則を使って解析され、ルートが `
post/view
`、`
id
` パラメータの値が 100 となります。
- `
/index.php/posts/php
` は、どのパターンにも合致しないため、[[yii\web\UrlManager::enableStrictParsing]] が true の場合は、[[yii\web\NotFoundHttpException]] を引き起こします。
- `
/index.php/posts/php
` は、どのパターンにも合致しないため、[[yii\web\UrlManager::enableStrictParsing]] が true の場合は、[[yii\web\NotFoundHttpException]] を引き起こします。
[[yii\web\UrlManager::enableStrictParsing]] が false (これが既
定値です
) の場合は、パス情報の部分である `
posts/php
` がルートとして返されることになります。
[[yii\web\UrlManager::enableStrictParsing]] が false (これがデ
フォルト値です)
の場合は、パス情報の部分である `
posts/php
` がルートとして返されることになります。
規則が URL 生成に使われる場合は、
規則が URL 生成に使われる場合は、
...
@@ -360,7 +360,7 @@ URL 隕丞援縺ョ繝ォ繝シ繝医↓縺ッ繝代Λ繝。繝シ繧ソ蜷阪r蝓九a霎シ繧縺薙→縺悟譚・縺セ
...
@@ -360,7 +360,7 @@ URL 隕丞援縺ョ繝ォ繝シ繝医↓縺ッ繝代Λ繝。繝シ繧ソ蜷阪r蝓九a霎シ繧縺薙→縺悟譚・縺セ
> Info|情報: ルートをパラメータ化することによって、URL 規則の数を大幅に減らすことが可能になり、[[yii\web\UrlManager|URL マネージャ]] のパフォーマンスを目に見えて改善することが出来ます。
> Info|情報: ルートをパラメータ化することによって、URL 規則の数を大幅に減らすことが可能になり、[[yii\web\UrlManager|URL マネージャ]] のパフォーマンスを目に見えて改善することが出来ます。
既定では
、規則の中で宣言されたパラメータは必須となります。
デフォルトでは、
規則の中で宣言されたパラメータは必須となります。
リクエストされた URL が特定のパラメータを含まない場合や、URL が特定のパラメータなしで生成される場合には、規則は適用されません。
リクエストされた URL が特定のパラメータを含まない場合や、URL が特定のパラメータなしで生成される場合には、規則は適用されません。
パラメータのどれかをオプション扱いにしたい場合は、規則の [[yii\web\UrlRule::defaults|defaults]] プロパティを構成することが出来ます。
パラメータのどれかをオプション扱いにしたい場合は、規則の [[yii\web\UrlRule::defaults|defaults]] プロパティを構成することが出来ます。
このプロパティのリストに挙げられたパラメータはオプション扱いとなり、規定されなかった場合は指定された値を取るようになります。
このプロパティのリストに挙げられたパラメータはオプション扱いとなり、規定されなかった場合は指定された値を取るようになります。
...
@@ -516,7 +516,7 @@ RESTful API 繧貞ョ溯」☆繧九→縺阪縲∽スソ逕ィ縺輔l縺ヲ縺k HTTP 繝。繧ス繝ラ縺
...
@@ -516,7 +516,7 @@ RESTful API 繧貞ョ溯」☆繧九→縺阪縲∽スソ逕ィ縺輔l縺ヲ縺k HTTP 繝。繧ス繝ラ縺
]
]
```
```
> Info|情報: 規則の構成情報で `
class
` を指定しない場合は、既定として、
[[yi
i\web\UrlRule]] クラスが使われます。
> Info|情報: 規則の構成情報で `
class
` を指定しない場合は、デフォルトと
して、[[yii\
web\UrlRule]] クラスが使われます。
### 規則を動的に追加する <span id="adding-rules"></span>
### 規則を動的に追加する <span id="adding-rules"></span>
...
...
docs/guide-ja/runtime-sessions-cookies.md
View file @
4922cb1f
...
@@ -8,7 +8,7 @@ Yii 縺ッ繧サ繝す繝ァ繝ウ縺ィ繧ッ繝く繝シ繧偵が繝悶ず繧ァ繧ッ繝医→縺励※繧ォ繝励そ繝ォ
...
@@ -8,7 +8,7 @@ Yii 縺ッ繧サ繝す繝ァ繝ウ縺ィ繧ッ繝く繝シ繧偵が繝悶ず繧ァ繧ッ繝医→縺励※繧ォ繝励そ繝ォ
## セッション <span id="sessions"></span>
## セッション <span id="sessions"></span>
[
リクエスト
](
runtime-requests.md
)
や
[
レスポンス
](
runtime-responses.md
)
と同じように、既定では
[
[yii\
web\
Session
]
] のインスタンスである
`session`
[
アプリケーションコンポーネント
]
によって、セッションにアクセスすることが出来ます。
[
リクエスト
](
runtime-requests.md
)
や
[
レスポンス
](
runtime-responses.md
)
と同じように、デフォルトでは
[
[y
ii\web\Se
ssion
]
] のインスタンスである
`session`
[
アプリケーションコンポーネント
]
によって、セッションにアクセスすることが出来ます。
### セッションのオープンとクローズ <span id="opening-closing-sessions"></span>
### セッションのオープンとクローズ <span id="opening-closing-sessions"></span>
...
@@ -121,7 +121,7 @@ $session['captcha.lifetime'] = 3600;
...
@@ -121,7 +121,7 @@ $session['captcha.lifetime'] = 3600;
### カスタムセッションストレージ <span id="custom-session-storage"></span>
### カスタムセッションストレージ <span id="custom-session-storage"></span>
既定の
[
[yii\web\Session
]
] クラスはセッションデータをサーバ上のファイルとして保存します。
デフォルトの
[
[yii\web\Session
]
] クラスはセッションデータをサーバ上のファイルとして保存します。
Yii は、また、さまざまなセッションストレージを実装する下記のクラスをも提供しています。
Yii は、また、さまざまなセッションストレージを実装する下記のクラスをも提供しています。
*
[
[yii\web\DbSession
]
]: セッションデータをデータベーステーブルを使って保存する。
*
[
[yii\web\DbSession
]
]: セッションデータをデータベーステーブルを使って保存する。
...
...
docs/guide-ja/start-gii.md
View file @
4922cb1f
...
@@ -44,7 +44,7 @@ defined('YII_ENV') or define('YII_ENV', 'dev');
...
@@ -44,7 +44,7 @@ defined('YII_ENV') or define('YII_ENV', 'dev');
http://hostname/index.php?r=gii
http://hostname/index.php?r=gii
```
```
> Note|注意: ローカルホスト以外のマシンから Gii にアクセスしようとすると、
既定
ではセキュリティ上の理由でアクセスが拒否されます。
> Note|注意: ローカルホスト以外のマシンから Gii にアクセスしようとすると、
デフォルト
ではセキュリティ上の理由でアクセスが拒否されます。
> 下記のように Gii を構成して、許可される IP アドレスを追加することが出来ます。
> 下記のように Gii を構成して、許可される IP アドレスを追加することが出来ます。
>
>
```
php
```
php
...
...
docs/guide-ja/start-hello.md
View file @
4922cb1f
...
@@ -109,7 +109,7 @@ http://hostname/index.php?r=site/say&message=Hello+World
...
@@ -109,7 +109,7 @@ http://hostname/index.php?r=site/say&message=Hello+World
このページはアプリケーションの他のページと同じヘッダとフッタを共有しています。
このページはアプリケーションの他のページと同じヘッダとフッタを共有しています。
URL から
`message`
パラメータを省略すると、"こんにちは" を表示するページを見ることになるでしょう。
URL から
`message`
パラメータを省略すると、"こんにちは" を表示するページを見ることになるでしょう。
これは、
`message`
が
`actionSay()`
メソッドにパラメータとして渡されるものであり、それが省略された場合には、
既定
値である
`"こんにちは"`
が代りに使われるからです。
これは、
`message`
が
`actionSay()`
メソッドにパラメータとして渡されるものであり、それが省略された場合には、
デフォルト
値である
`"こんにちは"`
が代りに使われるからです。
> Info|情報: 新しいページは他のページと同じヘッダとフッタを共有していますが、それは [[yii\web\Controller::render()|render()]] メソッドが `say` ビューの結果をいわゆる [レイアウト](structure-views.md#layouts) に自動的に埋め込むからです。
> Info|情報: 新しいページは他のページと同じヘッダとフッタを共有していますが、それは [[yii\web\Controller::render()|render()]] メソッドが `say` ビューの結果をいわゆる [レイアウト](structure-views.md#layouts) に自動的に埋め込むからです。
レイアウトは、この場合、
`views/layouts/main.php`
にあります。
レイアウトは、この場合、
`views/layouts/main.php`
にあります。
...
...
docs/guide-ja/start-installation.md
View file @
4922cb1f
...
@@ -6,7 +6,7 @@ Yii 縺ッ莠後▽縺ョ譁ケ豕輔〒繧、繝ウ繧ケ繝医繝ォ縺吶k縺薙→縺悟譚・縺セ縺吶ゅ☆縺ェ
...
@@ -6,7 +6,7 @@ Yii 縺ッ莠後▽縺ョ譁ケ豕輔〒繧、繝ウ繧ケ繝医繝ォ縺吶k縺薙→縺悟譚・縺セ縺吶ゅ☆縺ェ
Yii の標準的なインストールを実行すると、フレームワークとアプリケーションテンプレートの両方がダウンロードされてインストールされます。
Yii の標準的なインストールを実行すると、フレームワークとアプリケーションテンプレートの両方がダウンロードされてインストールされます。
アプリケーションテンプレートは、いくつかの基本的な機能、例えば、ログインやコンタクトフォームなどを実装した、動作する Yii アプリケーションです。
アプリケーションテンプレートは、いくつかの基本的な機能、例えば、ログインやコンタクトフォームなどを実装した、動作する Yii アプリケーションです。
そのコードは推奨される方法に従って組織されています。
そのコードは推奨される方法に従って編成されています。
そのため、アプリケーションテンプレートは、あなたのプロジェクトのための良い開始点としての役割を果たしうるものです。
そのため、アプリケーションテンプレートは、あなたのプロジェクトのための良い開始点としての役割を果たしうるものです。
この節と後続のいくつかの節においては、いわゆる
*ベーシックアプリケーションテンプレート*
とともに Yii をインストールする方法、および、このテンプレート上に新しい機能を実装する方法を説明します。
この節と後続のいくつかの節においては、いわゆる
*ベーシックアプリケーションテンプレート*
とともに Yii をインストールする方法、および、このテンプレート上に新しい機能を実装する方法を説明します。
...
@@ -14,7 +14,7 @@ Yii 縺ッ繧ゅ≧荳縺、縲ー繧「繝峨ヰ繝ウ繧ケ繝医い繝励Μ繧ア繝シ繧キ繝ァ繝ウ繝Φ繝励Ξ繝シ
...
@@ -14,7 +14,7 @@ Yii 縺ッ繧ゅ≧荳縺、縲ー繧「繝峨ヰ繝ウ繧ケ繝医い繝励Μ繧ア繝シ繧キ繝ァ繝ウ繝Φ繝励Ξ繝シ
こちらは、チーム開発環境において多層構造のアプリケーションを開発するときに使用する方が望ましいものです。
こちらは、チーム開発環境において多層構造のアプリケーションを開発するときに使用する方が望ましいものです。
> Info|情報: ベーシックアプリケーションテンプレートは、ウェブアプリケーションの 90 パーセントを開発するのに適したものです。
> Info|情報: ベーシックアプリケーションテンプレートは、ウェブアプリケーションの 90 パーセントを開発するのに適したものです。
アドバンストアプリケーションテンプレートとの主な違いは、コードがどのように組織されているかという点にあります。
アドバンストアプリケーションテンプレートとの主な違いは、コードがどのように編成されているかという点にあります。
あなたが Yii は初めてだという場合は、シンプルでありながら十分な機能を持っているベーシックアプリケーションテンプレートに留まることを強く推奨します。
あなたが Yii は初めてだという場合は、シンプルでありながら十分な機能を持っているベーシックアプリケーションテンプレートに留まることを強く推奨します。
...
...
docs/guide-ja/start-workflow.md
View file @
4922cb1f
...
@@ -3,7 +3,7 @@
...
@@ -3,7 +3,7 @@
Yii のインストールが終ると、実際に動く Yii のアプリケーションにアクセスすることが出来ます。
Yii のインストールが終ると、実際に動く Yii のアプリケーションにアクセスすることが出来ます。
その URL は、
`http://hostname/basic/web/index.php`
あるいは
`http://hostname/index.php`
など、設定によって異なります。
その URL は、
`http://hostname/basic/web/index.php`
あるいは
`http://hostname/index.php`
など、設定によって異なります。
この節では、アプリケーションに組み込み済みの機能を紹介し、コードがどのように
組織
されているか、そして、一般にアプリケーションがリクエストをどのように処理するかを説明します。
この節では、アプリケーションに組み込み済みの機能を紹介し、コードがどのように
編成
されているか、そして、一般にアプリケーションがリクエストをどのように処理するかを説明します。
> Info|情報: 話を簡単にするために、この「始めよう」のチュートリアルを通じて、`basic/web` をウェブサーバのドキュメントルートとして設定したと仮定します。
> Info|情報: 話を簡単にするために、この「始めよう」のチュートリアルを通じて、`basic/web` をウェブサーバのドキュメントルートとして設定したと仮定します。
そして、アプリケーションにアクセスするための URL は
`http://hostname/index.php`
またはそれに似たものになるように設定したと仮定します。
そして、アプリケーションにアクセスするための URL は
`http://hostname/index.php`
またはそれに似たものになるように設定したと仮定します。
...
...
docs/guide-ja/structure-applications.md
View file @
4922cb1f
...
@@ -214,7 +214,7 @@ if (YII_ENV_DEV) {
...
@@ -214,7 +214,7 @@ if (YII_ENV_DEV) {
#### [[yii\base\Application::controllerMap|controllerMap]] <span id="controllerMap"></span>
#### [[yii\base\Application::controllerMap|controllerMap]] <span id="controllerMap"></span>
このプロパティは、コントローラ ID を任意のコントローラクラスに割り付けることを可能にするものです。
このプロパティは、コントローラ ID を任意のコントローラクラスに割り付けることを可能にするものです。
既定
では、Yii は [規約](#controllerNamespace) に基づいてコントローラ ID をコントローラクラスに割り付けます
デフォルト
では、Yii は [規約](#controllerNamespace) に基づいてコントローラ ID をコントローラクラスに割り付けます
(例えば、`post` という ID は `app\controllers\PostController` に割り付けられます)。
(例えば、`post` という ID は `app\controllers\PostController` に割り付けられます)。
このプロパティを構成することによって、特定のコントローラに対する規約を破ることが出来ます。
このプロパティを構成することによって、特定のコントローラに対する規約を破ることが出来ます。
下記の例では、`account` は `app\controllers\UserController` に割り付けられ、`article` は `app\controllers\PostController` に割り付けられることになります。
下記の例では、`account` は `app\controllers\UserController` に割り付けられ、`article` は `app\controllers\PostController` に割り付けられることになります。
...
@@ -258,7 +258,7 @@ if (YII_ENV_DEV) {
...
@@ -258,7 +258,7 @@ if (YII_ENV_DEV) {
アプリケーションが多言語をサポートする必要があるときは、このプロパティを構成しなければなりません。
アプリケーションが多言語をサポートする必要があるときは、このプロパティを構成しなければなりません。
このプロパティの値が、メッセージの翻訳、日付の書式、数字の書式などを含む [国際化](tutorial-i18n.md) のさまざまな側面を決定します。
このプロパティの値が、メッセージの翻訳、日付の書式、数字の書式などを含む [国際化](tutorial-i18n.md) のさまざまな側面を決定します。
例えば、[[yii\jui\DatePicker]] ウィジェットは、どの言語でカレンダーを表示すべきか、そして日付をどのように書式設定すべきかを、
既定
では、このプロパティを使用して決定します。
例えば、[[yii\jui\DatePicker]] ウィジェットは、どの言語でカレンダーを表示すべきか、そして日付をどのように書式設定すべきかを、
デフォルト
では、このプロパティを使用して決定します。
言語を指定するのには、[IETF 言語タグ](http://ja.wikipedia.org/wiki/IETF%E8%A8%80%E8%AA%9E%E3%82%BF%E3%82%B0) に従うことが推奨されます。
言語を指定するのには、[IETF 言語タグ](http://ja.wikipedia.org/wiki/IETF%E8%A8%80%E8%AA%9E%E3%82%BF%E3%82%B0) に従うことが推奨されます。
例えば、`en` は英語を意味し、`en-US` はアメリカ合衆国の英語を意味します。
例えば、`en` は英語を意味し、`en-US` はアメリカ合衆国の英語を意味します。
...
...
docs/guide-ja/structure-assets.md
View file @
4922cb1f
...
@@ -109,7 +109,7 @@ class AppAsset extends AssetBundle
...
@@ -109,7 +109,7 @@ class AppAsset extends AssetBundle
アセットバンドルクラスを定義するときには
[
[yii\web\AssetBundle::sourcePath|sourcePath
]
] プロパティを指定しなければなりません。
アセットバンドルクラスを定義するときには
[
[yii\web\AssetBundle::sourcePath|sourcePath
]
] プロパティを指定しなければなりません。
> Note|注意: `@webroot/assets` を [[yii\web\AssetBundle::sourcePath|ソースパス]] として使ってはいけません。
> Note|注意: `@webroot/assets` を [[yii\web\AssetBundle::sourcePath|ソースパス]] として使ってはいけません。
このディレクトリは、
既定
では、
[
[yii\web\AssetManager|アセットマネージャ
]
] がソースの配置場所から発行されたアセットファイルを保存する場所として使われます。
このディレクトリは、
デフォルト
では、
[
[yii\web\AssetManager|アセットマネージャ
]
] がソースの配置場所から発行されたアセットファイルを保存する場所として使われます。
このディレクトリの中のファイルはすべて一時的なものと見なされており、削除されることがあります。
このディレクトリの中のファイルはすべて一時的なものと見なされており、削除されることがあります。
...
@@ -157,13 +157,13 @@ public $cssOptions = ['noscript' => true];
...
@@ -157,13 +157,13 @@ public $cssOptions = ['noscript' => true];
```
```
JavaScript ファイルをページの head セクションにインクルードするためには、次のオプションを使います
JavaScript ファイルをページの head セクションにインクルードするためには、次のオプションを使います
(
既定
では、JavaScript ファイルは body セクションの最後にインクルードされます)。
(
デフォルト
では、JavaScript ファイルは body セクションの最後にインクルードされます)。
```
php
```
php
public
$jsOptions
=
[
'position'
=>
\yii\web\View
::
POS_HEAD
];
public
$jsOptions
=
[
'position'
=>
\yii\web\View
::
POS_HEAD
];
```
```
既定
では、アセットバンドルが発行されるときは、
[
[yii\web\AssetBundle::sourcePath
]
] で指定されたディレクトリの中にある全てのコンテントが発行されます。
デフォルト
では、アセットバンドルが発行されるときは、
[
[yii\web\AssetBundle::sourcePath
]
] で指定されたディレクトリの中にある全てのコンテントが発行されます。
[
[yii\web\AssetBundle::publishOptions|publishOptions
]
] プロパティを構成することによって、この振る舞いをカスタマイズすることが出来ます。
[
[yii\web\AssetBundle::publishOptions|publishOptions
]
] プロパティを構成することによって、この振る舞いをカスタマイズすることが出来ます。
例えば、
[
[yii\web\AssetBundle::sourcePath
]
] の一個または数個のサブディレクトリだけを発行するために、アセットバンドルクラスの中で下記のようにすることが出来ます。
例えば、
[
[yii\web\AssetBundle::sourcePath
]
] の一個または数個のサブディレクトリだけを発行するために、アセットバンドルクラスの中で下記のようにすることが出来ます。
...
@@ -328,7 +328,7 @@ return [
...
@@ -328,7 +328,7 @@ return [
既に述べたように、アセットバンドルがウェブからアクセス出来ないディレクトリに配置されている場合は、バンドルがビューに登録されるときに、アセットがウェブディレクトリにコピーされます。
既に述べたように、アセットバンドルがウェブからアクセス出来ないディレクトリに配置されている場合は、バンドルがビューに登録されるときに、アセットがウェブディレクトリにコピーされます。
このプロセスは
*アセット発行*
と呼ばれ、
[
[yii\web\AssetManager|アセットマネージャ
]
] によって自動的に実行されます。
このプロセスは
*アセット発行*
と呼ばれ、
[
[yii\web\AssetManager|アセットマネージャ
]
] によって自動的に実行されます。
既定
では、アセットが発行されるディレクトリは
`@webroot/assets`
であり、
`@web/assets`
という URL に対応するものです。
デフォルト
では、アセットが発行されるディレクトリは
`@webroot/assets`
であり、
`@web/assets`
という URL に対応するものです。
この場所は、
[
[yii\web\AssetManager::basePath|basePath
]
] と
[
[yii\web\AssetManager::baseUrl|baseUrl
]
] のプロパティを構成してカスタマイズすることが出来ます。
この場所は、
[
[yii\web\AssetManager::basePath|basePath
]
] と
[
[yii\web\AssetManager::baseUrl|baseUrl
]
] のプロパティを構成してカスタマイズすることが出来ます。
ファイルをコピーすることでアセットを発行する代りに、OS とウェブサーバが許容するなら、シンボリックリンクを使うことを考慮しても良いでしょう。
ファイルをコピーすることでアセットを発行する代りに、OS とウェブサーバが許容するなら、シンボリックリンクを使うことを考慮しても良いでしょう。
...
@@ -355,7 +355,7 @@ return [
...
@@ -355,7 +355,7 @@ return [
その中で、下記のバンドルはよく使われるものであり、あなたのアプリケーションやエクステンションのコードでも参照することが出来るものです。
その中で、下記のバンドルはよく使われるものであり、あなたのアプリケーションやエクステンションのコードでも参照することが出来るものです。
-
[
[yii\web\YiiAsset
]
]: 主として
`yii.js`
ファイルをインクルードするためのバンドルです。
-
[
[yii\web\YiiAsset
]
]: 主として
`yii.js`
ファイルをインクルードするためのバンドルです。
このファイルはモジュール化された JavaScript のコードを
組織化
するメカニズムを実装しています。
このファイルはモジュール化された JavaScript のコードを
編成
するメカニズムを実装しています。
また、
`data-method`
と
`data-confirm`
の属性に対する特別なサポートや、その他の有用な機能を提供します。
また、
`data-method`
と
`data-confirm`
の属性に対する特別なサポートや、その他の有用な機能を提供します。
-
[
[yii\web\JqueryAsset
]
]: jQuery の bower パッケージから
`jquery.js`
ファイルをインクルードします。
-
[
[yii\web\JqueryAsset
]
]: jQuery の bower パッケージから
`jquery.js`
ファイルをインクルードします。
-
[
[yii\bootstrap\BootstrapAsset
]
]: Twitter Bootstrap フレームワークから CSS ファイルをインクルードします。
-
[
[yii\bootstrap\BootstrapAsset
]
]: Twitter Bootstrap フレームワークから CSS ファイルをインクルードします。
...
@@ -584,7 +584,7 @@ return [
...
@@ -584,7 +584,7 @@ return [
JavaScript ファイルは結合され、圧縮されて
`js/all-{hash}.js`
に保存されます。ここで {hash} は、結果として作られたファイルのハッシュで置き換えられるものです。
JavaScript ファイルは結合され、圧縮されて
`js/all-{hash}.js`
に保存されます。ここで {hash} は、結果として作られたファイルのハッシュで置き換えられるものです。
`jsCompressor`
と
`cssCompressor`
のオプションは、JavaScript と CSS の結合/圧縮を実行するコンソールコマンドまたは PHP コールバックを指定するものです。
`jsCompressor`
と
`cssCompressor`
のオプションは、JavaScript と CSS の結合/圧縮を実行するコンソールコマンドまたは PHP コールバックを指定するものです。
既定
では、Yii は JavaScript ファイルの結合に
[
Closure Compiler
](
https://developers.google.com/closure/compiler/
)
を使い、CSS ファイルの結合に
[
YUI Compressor
](
https://github.com/yui/yuicompressor/
)
を使用します。
デフォルト
では、Yii は JavaScript ファイルの結合に
[
Closure Compiler
](
https://developers.google.com/closure/compiler/
)
を使い、CSS ファイルの結合に
[
YUI Compressor
](
https://github.com/yui/yuicompressor/
)
を使用します。
あなたの好みのツールを使うためには、手作業でツールをインストールしたり、オプションを調整したりしなければなりません。
あなたの好みのツールを使うためには、手作業でツールをインストールしたり、オプションを調整したりしなければなりません。
この構成情報ファイルを使い、
`asset`
コマンドを走らせて、アセットファイルを結合して圧縮し、同時に、新しいアセットバンドルの構成情報ファイル
`assets-prod.php`
を生成することが出来ます。
この構成情報ファイルを使い、
`asset`
コマンドを走らせて、アセットファイルを結合して圧縮し、同時に、新しいアセットバンドルの構成情報ファイル
`assets-prod.php`
を生成することが出来ます。
...
...
docs/guide-ja/structure-controllers.md
View file @
4922cb1f
...
@@ -139,7 +139,7 @@ class SiteController extends Controller
...
@@ -139,7 +139,7 @@ class SiteController extends Controller
一方、
`admin/post2-comment`
コントローラは
`@app/controllers/admin/Post2CommentController.php`
というエイリアスのファイルに保存されるべきものとなります。
一方、
`admin/post2-comment`
コントローラは
`@app/controllers/admin/Post2CommentController.php`
というエイリアスのファイルに保存されるべきものとなります。
> Info|情報: 最後の例である `admin/post2-comment` は、どうすれば [[yii\base\Application::controllerNamespace|コントローラ名前空間]] のサブディレクトリにコントローラを置くことが出来るかを示しています。
> Info|情報: 最後の例である `admin/post2-comment` は、どうすれば [[yii\base\Application::controllerNamespace|コントローラ名前空間]] のサブディレクトリにコントローラを置くことが出来るかを示しています。
この方法は、コントローラをいくつかのカテゴリに分けて
整理
したい、けれども
[
モジュール
](
structure-modules.md
)
は使いたくない、という場合に役立ちます。
この方法は、コントローラをいくつかのカテゴリに分けて
編成
したい、けれども
[
モジュール
](
structure-modules.md
)
は使いたくない、という場合に役立ちます。
### コントローラマップ <span id="controller-map"></span>
### コントローラマップ <span id="controller-map"></span>
...
...
docs/guide-ja/structure-entry-scripts.md
View file @
4922cb1f
...
@@ -62,7 +62,7 @@ $config = require(__DIR__ . '/../config/web.php');
...
@@ -62,7 +62,7 @@ $config = require(__DIR__ . '/../config/web.php');
defined
(
'YII_DEBUG'
)
or
define
(
'YII_DEBUG'
,
true
);
defined
(
'YII_DEBUG'
)
or
define
(
'YII_DEBUG'
,
true
);
//
fcgi が既定では
STDIN と STDOUT を定義していないので
//
デフォルトでは fcgi が
STDIN と STDOUT を定義していないので
defined
(
'STDIN'
)
or
define
(
'STDIN'
,
fopen
(
'php://stdin'
,
'r'
));
defined
(
'STDIN'
)
or
define
(
'STDIN'
,
fopen
(
'php://stdin'
,
'r'
));
defined
(
'STDOUT'
)
or
define
(
'STDOUT'
,
fopen
(
'php://stdout'
,
'w'
));
defined
(
'STDOUT'
)
or
define
(
'STDOUT'
,
fopen
(
'php://stdout'
,
'w'
));
...
@@ -89,12 +89,12 @@ Yii は下記の三つの定数をサポートしています。
...
@@ -89,12 +89,12 @@ 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 です。
定数を定義するときには、しばしば次のようなコードを用います。
定数を定義するときには、しばしば次のようなコードを用います。
...
...
docs/guide-ja/structure-extensions.md
View file @
4922cb1f
...
@@ -19,7 +19,7 @@
...
@@ -19,7 +19,7 @@
[
Composer
](
https://getcomposer.org/
)
を持っていない場合は、それをインストールする必要があることに注意してください。
[
Composer
](
https://getcomposer.org/
)
を持っていない場合は、それをインストールする必要があることに注意してください。
既定
では、Composer は
[
Packagist
](
https://packagist.org/
)
に登録されたパッケージをインストールします。
デフォルト
では、Composer は
[
Packagist
](
https://packagist.org/
)
に登録されたパッケージをインストールします。
Packagist はオープンソース Composer パッケージの最大のレポジトリであり、そこでエクステンションを探すことが出来ます。
Packagist はオープンソース Composer パッケージの最大のレポジトリであり、そこでエクステンションを探すことが出来ます。
また、
[
自分自身のレポジトリを作成
](
https://getcomposer.org/doc/05-repositories.md#repository
)
して、それを使うように Composer を構成することも出来ます。
また、
[
自分自身のレポジトリを作成
](
https://getcomposer.org/doc/05-repositories.md#repository
)
して、それを使うように Composer を構成することも出来ます。
これは、あなたがプライベートなエクステンションを開発していて、それを自分のプロジェクト間でのみ共有したい場合に役に立つ方法です。
これは、あなたがプライベートなエクステンションを開発していて、それを自分のプロジェクト間でのみ共有したい場合に役に立つ方法です。
...
@@ -201,7 +201,7 @@ Yii は [Composer アセットプラグイン](https://github.com/francoispluchi
...
@@ -201,7 +201,7 @@ Yii は [Composer アセットプラグイン](https://github.com/francoispluchi
上記のコードは、エクステンションが
`jquery`
Bower パッケージに依存することを述べています。
上記のコードは、エクステンションが
`jquery`
Bower パッケージに依存することを述べています。
一般に、
`composer.json`
の中でBower パッケージを指すためには
`bower-asset/PackageName`
を使うことが出来ます。
一般に、
`composer.json`
の中でBower パッケージを指すためには
`bower-asset/PackageName`
を使うことが出来ます。
そして、NPM パッケージを指すためには
`npm-asset/PackageName`
を使うことが出来ます。
そして、NPM パッケージを指すためには
`npm-asset/PackageName`
を使うことが出来ます。
Composer が Bower または NPM のパッケージをインストールする場合は、
既定
では、それぞれ、
`@vendor/bower/PackageName`
および
`@vendor/npm/Packages`
というディレクトリの下にパッケージの内容がインストールされます。
Composer が Bower または NPM のパッケージをインストールする場合は、
デフォルト
では、それぞれ、
`@vendor/bower/PackageName`
および
`@vendor/npm/Packages`
というディレクトリの下にパッケージの内容がインストールされます。
この二つのディレクトリは、
`@bower/PackageName`
および
`@npm/PackageName`
という短いエイリアスを使って参照することも可能です。
この二つのディレクトリは、
`@bower/PackageName`
および
`@npm/PackageName`
という短いエイリアスを使って参照することも可能です。
アセット管理に関する詳細については、
[
アセット
](
structure-assets.md#bower-npm-assets
)
の節を参照してください。
アセット管理に関する詳細については、
[
アセット
](
structure-assets.md#bower-npm-assets
)
の節を参照してください。
...
...
docs/guide-ja/structure-filters.md
View file @
4922cb1f
...
@@ -5,7 +5,7 @@
...
@@ -5,7 +5,7 @@
例えば、アクセスコントロールフィルタはアクションの前に走って、アクションが特定のエンドユーザだけにアクセスを許可するものであることを保証します。
例えば、アクセスコントロールフィルタはアクションの前に走って、アクションが特定のエンドユーザだけにアクセスを許可するものであることを保証します。
また、コンテント圧縮フィルタはアクションの後に走って、レスポンスのコンテントをエンドユーザに送出する前に圧縮します。
また、コンテント圧縮フィルタはアクションの後に走って、レスポンスのコンテントをエンドユーザに送出する前に圧縮します。
フィルタは、前フィルタ (アクションの
*前*
に適用されるフィルタのロジック) および/または 後フィルタ (アクションの
*後*
に適用されるフィルタ) から構成されます。
一つのフィルタは、前フィルタ (アクションの
*前*
に適用されるフィルタのロジック) および/または 後フィルタ (アクションの
*後*
に適用されるロジック) から構成することが出来ます。
## フィルタを使用する <span id="using-filters"></span>
## フィルタを使用する <span id="using-filters"></span>
...
@@ -30,17 +30,15 @@ public function behaviors()
...
@@ -30,17 +30,15 @@ public function behaviors()
}
}
```
```
既定では
、コントローラクラスの中で宣言されたフィルタは、そのコントローラの
*全て*
のアクションに適用されます。
デフォルトでは、
コントローラクラスの中で宣言されたフィルタは、そのコントローラの
*全て*
のアクションに適用されます。
しかし、
[
[yii\base\ActionFilter::only|only
]
] プロパティを構成することによって、フィルタがどのアクションに適用されるべきかを明示的に指定することも出来ます。
しかし、
[
[yii\base\ActionFilter::only|only
]
] プロパティを構成することによって、フィルタがどのアクションに適用されるべきかを明示的に指定することも出来ます。
上記の例では、
`HttpCache`
フィルタは、
`index`
と
`view`
のアクションに対してのみ適用されています。
上記の例では、
`HttpCache`
フィルタは、
`index`
と
`view`
のアクションに対してのみ適用されています。
また、
[
[yii\base\ActionFilter::except|except
]
] プロパティを構成して、いくつかのアクションをフィルタされないように除外することも可能です。
また、
[
[yii\base\ActionFilter::except|except
]
] プロパティを構成して、いくつかのアクションをフィルタされないように除外することも可能です。
コントローラのほかに、
[
モジュール
](
structure-modules.md
)
または
[
アプリケーション
](
structure-applications.md
)
でもフィルタを宣言することが出来ます。
コントローラのほかに、
[
モジュール
](
structure-modules.md
)
または
[
アプリケーション
](
structure-applications.md
)
でもフィルタを宣言することが出来ます。
そのようにした場合、
[
[yii\base\ActionFilter::only|only
]
] と
[
[yii\base\ActionFilter::except|except
]
] のプロパティを上で説明したように構成しない限り、
そのようにした場合、
[
[yii\base\ActionFilter::only|only
]
] と
[
[yii\base\ActionFilter::except|except
]
] のプロパティを上で説明したように構成しない限り、そのフィルタは、モジュールまたはアプリケーションに属する
*全て*
のコントローラアクションに適用されます。
そのフィルタは、モジュールまたはアプリケーションに属する
*全て*
のコントローラアクションに適用されます。
> Note|注意: モジュールやアプリケーションでフィルタを宣言する場合、[[yii\base\ActionFilter::only|only]] と [[yii\base\ActionFilter::except|except]]
> Note|注意: モジュールやアプリケーションでフィルタを宣言する場合、[[yii\base\ActionFilter::only|only]] と [[yii\base\ActionFilter::except|except]] のプロパティでは、アクション ID ではなく、[ルート](structure-controllers.md#routes) を使わなければなりません。
のプロパティでは、アクション ID ではなく、
[
ルート
](
structure-controllers.md#routes
)
を使うべきです。
なぜなら、モジュールやアプリケーションのスコープでは、アクション ID だけでは完全にアクションを指定することが出来ないからです。
なぜなら、モジュールやアプリケーションのスコープでは、アクション ID だけでは完全にアクションを指定することが出来ないからです。
一つのアクションに複数のフィルタが構成されている場合、フィルタは下記で説明されている規則に従って適用されます。
一つのアクションに複数のフィルタが構成されている場合、フィルタは下記で説明されている規則に従って適用されます。
...
@@ -59,8 +57,7 @@ public function behaviors()
...
@@ -59,8 +57,7 @@ public function behaviors()
## フィルタを作成する <span id="creating-filters"></span>
## フィルタを作成する <span id="creating-filters"></span>
新しいアクションフィルタを作成するためには、
[
[yii\base\ActionFilter
]
] を拡張して、
[
[yii\base\ActionFilter::beforeAction()|beforeAction()
]
]
新しいアクションフィルタを作成するためには、
[
[yii\base\ActionFilter
]
] を拡張して、
[
[yii\base\ActionFilter::beforeAction()|beforeAction()
]
] および/または
[
[yii\base\ActionFilter::afterAction()|afterAction()
]
] メソッドをオーバーライドします。
および/または
[
[yii\base\ActionFilter::afterAction()|afterAction()
]
] メソッドをオーバーライドします。
前者はアクションが走る前に実行され、後者は走った後に実行されます。
前者はアクションが走る前に実行され、後者は走った後に実行されます。
[
[yii\base\ActionFilter::beforeAction()|beforeAction()
]
] の返り値が、アクションが実行されるべきか否かを決定します。
[
[yii\base\ActionFilter::beforeAction()|beforeAction()
]
] の返り値が、アクションが実行されるべきか否かを決定します。
返り値が false である場合、このフィルタの後に続くフィルタはスキップされ、アクションは実行を中止されます。
返り値が false である場合、このフィルタの後に続くフィルタはスキップされ、アクションは実行を中止されます。
...
@@ -102,13 +99,11 @@ Yii 縺ッ繧医¥菴ソ繧上l繧倶ク騾」縺ョ繝輔ぅ繝ォ繧ソ繧呈署萓帙@縺ヲ縺翫j縲√◎繧後i
...
@@ -102,13 +99,11 @@ Yii 縺ッ繧医¥菴ソ繧上l繧倶ク騾」縺ョ繝輔ぅ繝ォ繧ソ繧呈署萓帙@縺ヲ縺翫j縲√◎繧後i
### [[yii\filters\AccessControl|AccessControl]] <span id="access-control"></span>
### [[yii\filters\AccessControl|AccessControl]] <span id="access-control"></span>
AccessControl は、一組の
[
[yii\filters\AccessControl::rules|規則
]
] に基づいて、シンプルなアクセスコントロールを提供するものです。
AccessControl は、一組の
[
[yii\filters\AccessControl::rules|規則
]
] に基づいて、シンプルなアクセスコントロールを提供するものです。
具体的に言うと、アクションが実行される前に、AccessControl はリストされた規則を調べて、現在のコンテキスト変数
具体的に言うと、アクションが実行される前に、AccessControl はリストされた規則を調べて、現在のコンテキスト変数 (例えば、ユーザの IP アドレスや、ユーザのログイン状態など) に最初に合致するものを見つけます。
(例えば、ユーザの IP アドレスや、ユーザのログイン状態など) に最初に合致するものを見つけます。
そして、合致した規則によって、リクエストされたアクションの実行を許可するか拒否するかを決定します。
そして、合致した規則によって、リクエストされたアクションの実行を許可するか拒否するかを決定します。
合致する規則がなかった場合は、アクセスは拒否されます。
合致する規則がなかった場合は、アクセスは拒否されます。
次の例は、認証されたユーザに対しては
`create`
と
`update`
のアクションへのアクセスを許可し、
次の例は、認証されたユーザに対しては
`create`
と
`update`
のアクションへのアクセスを許可し、その他のすべてのユーザにはこれら二つのアクションに対するアクセスを拒否する仕方を示すものです。
その他のすべてのユーザにはこれら二つのアクションに対するアクセスを拒否する仕方を示すものです。
```
php
```
php
use
yii\filters\AccessControl
;
use
yii\filters\AccessControl
;
...
@@ -125,7 +120,7 @@ public function behaviors()
...
@@ -125,7 +120,7 @@ public function behaviors()
'allow'
=>
true
,
'allow'
=>
true
,
'roles'
=>
[
'@'
],
'roles'
=>
[
'@'
],
],
],
// その他は
、既定によ
り拒否される
// その他は
すべてデフォルトにより拒否
される
],
],
],
],
];
];
...
@@ -143,8 +138,7 @@ public function behaviors()
...
@@ -143,8 +138,7 @@ public function behaviors()
次の例は、
[
[yii\filters\auth\HttpBasicAuth
]
] の使い方を示すもので、HTTP Basic 認証に基づくアクセストークンを使ってユーザを認証しています。
次の例は、
[
[yii\filters\auth\HttpBasicAuth
]
] の使い方を示すもので、HTTP Basic 認証に基づくアクセストークンを使ってユーザを認証しています。
これを動作させるためには、あなたの
[
[yii\web\User::identityClass|ユーザアイデンティティクラス
]
]
これを動作させるためには、あなたの
[
[yii\web\User::identityClass|ユーザアイデンティティクラス
]
]
が
[
[yii\web\IdentityInterface::findIdentityByAccessToken()|findIdentityByAccessToken()
]
]
が
[
[yii\web\IdentityInterface::findIdentityByAccessToken()|findIdentityByAccessToken()
]
] メソッドを実装していなければならないことに注意してください。
メソッドを実装していなければならないことに注意してください。
```
php
```
php
use
yii\filters\auth\HttpBasicAuth
;
use
yii\filters\auth\HttpBasicAuth
;
...
@@ -192,8 +186,7 @@ public function behaviors()
...
@@ -192,8 +186,7 @@ public function behaviors()
}
}
```
```
レスポンス形式と言語は
[
アプリケーションのライフサイクル
](
structure-applications.md#application-lifecycle
)
レスポンス形式と言語は
[
アプリケーションのライフサイクル
](
structure-applications.md#application-lifecycle
)
のもっと早い段階で決定される必要があることがよくあります。
のもっと早い段階で決定される必要があることがよくあります。
このため、ContentNegotiator はフィルタの他に、
[
ブートストラップコンポーネント
](
structure-applications.md#bootstrap
)
としても使うことができるように設計されています。
このため、ContentNegotiator はフィルタの他に、
[
ブートストラップコンポーネント
](
structure-applications.md#bootstrap
)
としても使うことができるように設計されています。
例えば、次のように、ContentNegotiator を
[
アプリケーションの構成情報
](
structure-applications.md#application-configurations
)
の中で構成することが出来ます。
例えば、次のように、ContentNegotiator を
[
アプリケーションの構成情報
](
structure-applications.md#application-configurations
)
の中で構成することが出来ます。
...
@@ -218,14 +211,13 @@ use yii\web\Response;
...
@@ -218,14 +211,13 @@ use yii\web\Response;
];
];
```
```
> Info|情報: 望ましいコンテントタイプと言語がリクエストからは決定できない場合は、[[formats]] および [[languages]]
> Info|情報: 望ましいコンテントタイプと言語がリクエストから決定できない場合は、[[formats]] および [[languages]] に挙げられている最初の形式と言語が使用されます。
に挙げられている最初の形式と言語が使用されます。
### [[yii\filters\HttpCache|HttpCache]] <span id="http-cache"></span>
### [[yii\filters\HttpCache|HttpCache]] <span id="http-cache"></span>
HttpCache は
`Last-Modified`
および
`Etag`
の HTTP ヘッダを利用して、クライアントサイドのキャッシュを実装す
るものです。
HttpCache は
`Last-Modified`
および
`Etag`
の HTTP ヘッダを利用して、クライアント側のキャッシュを実装するも
のです
。
```
php
```
php
use
yii\filters\HttpCache
;
use
yii\filters\HttpCache
;
...
@@ -250,7 +242,7 @@ HttpCache 縺ォ髢「縺吶k隧ウ邏ー縺ッ [HTTP 繧ュ繝」繝す繝・](caching-http.md) 縺ョ遽繧
...
@@ -250,7 +242,7 @@ HttpCache 縺ォ髢「縺吶k隧ウ邏ー縺ッ [HTTP 繧ュ繝」繝す繝・](caching-http.md) 縺ョ遽繧
### [[yii\filters\PageCache|PageCache]] <span id="page-cache"></span>
### [[yii\filters\PageCache|PageCache]] <span id="page-cache"></span>
PageCache はサーバサイド
におけるページ
全体のキャッシュを実装するものです。
PageCache はサーバ側にお
けるペ
ージ全体のキャッシュを実装するものです。
次の例では、PageCache が
`index`
アクションに適用されて、最大 60 秒間、または、
`post`
テーブルのエントリ数が変化するまでの間、ページ全体をキャッシュしています。
次の例では、PageCache が
`index`
アクションに適用されて、最大 60 秒間、または、
`post`
テーブルのエントリ数が変化するまでの間、ページ全体をキャッシュしています。
さらに、このページキャッシュは、選択されたアプリケーションの言語に従って、違うバージョンのページを保存するようにしています。
さらに、このページキャッシュは、選択されたアプリケーションの言語に従って、違うバージョンのページを保存するようにしています。
...
@@ -282,8 +274,8 @@ PageCache 縺ョ菴ソ逕ィ縺ォ髢「縺吶k隧ウ邏ー縺ッ [繝壹繧ク繧ュ繝」繝す繝・](caching-page
...
@@ -282,8 +274,8 @@ PageCache 縺ョ菴ソ逕ィ縺ォ髢「縺吶k隧ウ邏ー縺ッ [繝壹繧ク繧ュ繝」繝す繝・](caching-page
### [[yii\filters\RateLimiter|RateLimiter]] <span id="rate-limiter"></span>
### [[yii\filters\RateLimiter|RateLimiter]] <span id="rate-limiter"></span>
RateLimiter は
[
リーキーバケットアルゴリズム
](
http://ja.wikipedia.org/wiki/%E3%83%AA%E3%83%BC%E3%82%AD%E3%83%BC%E3%83%90%E3%82%B1%E3%83%83%E3%83%88
)
RateLimiter は
[
リーキーバケットアルゴリズム
](
http://ja.wikipedia.org/wiki/%E3%83%AA%E3%83%BC%E3%82%AD%E3%83%BC%E3%83%90%E3%82%B1%E3%83%83%E3%83%88
)
に基づいてレート制限
のアルゴリズムを実装するものです。
に基づいてレート制限のアルゴリズムを実装するものです。主として RESTful API を
実装するときに使用されます。
主
として RESTful API を実装するときに使用されます。
このフィルタの使用に関する詳細は
[
レート制限
](
rest-rate-limiting.md
)
の節を参照してください。
このフィルタの使用に関する詳細は
[
レート制限
](
rest-rate-limiting.md
)
の節を参照してください。
...
@@ -291,7 +283,7 @@ RateLimiter 縺ッ [繝ェ繝シ繧ュ繝シ繝舌こ繝ヨ繧「繝ォ繧エ繝ェ繧コ繝](http://ja.wikipedia
...
@@ -291,7 +283,7 @@ RateLimiter 縺ッ [繝ェ繝シ繧ュ繝シ繝舌こ繝ヨ繧「繝ォ繧エ繝ェ繧コ繝](http://ja.wikipedia
VerbFilter は、HTTP リクエストメソッド (HTTP 動詞) がリクエストされたアクションによって許可されているかどうかをチェックするものです。
VerbFilter は、HTTP リクエストメソッド (HTTP 動詞) がリクエストされたアクションによって許可されているかどうかをチェックするものです。
許可されていない場合は、HTTP 405 例外を投げます。
許可されていない場合は、HTTP 405 例外を投げます。
次の例では、VerbFilter が宣言されて、CRUD アクションに対して許可されるメソッドの典型的なセットを規定しています。
次の例では、VerbFilter が宣言されて、CRUD アクションに対して許可されるメソッドの典型的なセットを指定しています。
```
php
```
php
use
yii\filters\VerbFilter
;
use
yii\filters\VerbFilter
;
...
@@ -315,8 +307,7 @@ public function behaviors()
...
@@ -315,8 +307,7 @@ public function behaviors()
### [[yii\filters\Cors|Cors]] <span id="cors"></span>
### [[yii\filters\Cors|Cors]] <span id="cors"></span>
クロスオリジンリソース共有
[
CORS
](
https://developer.mozilla.org/ja/docs/HTTP_access_control
)
とは、ウェブページにおいて、さまざまなリソース
クロスオリジンリソース共有
[
CORS
](
https://developer.mozilla.org/ja/docs/HTTP_access_control
)
とは、ウェブページにおいて、さまざまなリソース (例えば、フォントや JavaScript など) を、それを生成するドメイン以外のドメインからリクエストすることを可能にするメカニズムです。
(例えば、フォントや JavaScript など) を、それを生成するドメイン以外のドメインからリクエストすることを可能にするメカニズムです。
特に言えば、JavaScript の AJAX 呼出しが使用することが出来る XMLHttpRequest メカニズムです。
特に言えば、JavaScript の AJAX 呼出しが使用することが出来る XMLHttpRequest メカニズムです。
このような「クロスドメイン」のリクエストは、このメカニズムに拠らなければ、同一生成元のセキュリティポリシーによって、ウェブブラウザから禁止されるはずのものです。
このような「クロスドメイン」のリクエストは、このメカニズムに拠らなければ、同一生成元のセキュリティポリシーによって、ウェブブラウザから禁止されるはずのものです。
CORS は、ブラウザとサーバが交信して、クロスドメインのリクエストを許可するか否かを決定する方法を定義するものです。
CORS は、ブラウザとサーバが交信して、クロスドメインのリクエストを許可するか否かを決定する方法を定義するものです。
...
...
docs/guide-ja/structure-modules.md
View file @
4922cb1f
...
@@ -4,14 +4,13 @@
...
@@ -4,14 +4,13 @@
モジュールは、
[
モデル
](
structure-models.md
)
、
[
ビュー
](
structure-views.md
)
、
[
コントローラ
](
structure-controllers.md
)
、およびその他の支援コンポーネントから構成される自己充足的なソフトウェアのユニットです。
モジュールは、
[
モデル
](
structure-models.md
)
、
[
ビュー
](
structure-views.md
)
、
[
コントローラ
](
structure-controllers.md
)
、およびその他の支援コンポーネントから構成される自己充足的なソフトウェアのユニットです。
モジュールが
[
アプリケーション
](
structure-applications.md
)
にインストールされている場合、エンドユーザはモジュールのコントローラにアクセスする事が出来ます。
モジュールが
[
アプリケーション
](
structure-applications.md
)
にインストールされている場合、エンドユーザはモジュールのコントローラにアクセスする事が出来ます。
これらのことを理由として、モジュールは小さなアプリケーションと見なされることがよくあります。
これらのことを理由として、モジュールは小さなアプリケーションと見なされることがよくあります。
しかし、モジュールは単独では配
置
できず、アプリケーションの中に存在しなければならないという点で
[
アプリケーション
](
structure-applications.md
)
とは異なります。
しかし、モジュールは単独では配
備
できず、アプリケーションの中に存在しなければならないという点で
[
アプリケーション
](
structure-applications.md
)
とは異なります。
## モジュールを作成する <span id="creating-modules"></span>
## モジュールを作成する <span id="creating-modules"></span>
モジュールは、モジュールの
[
[yii\base\Module::basePath|ベースパス
]
] と呼ばれるディレクトリとして組織されます。
モジュールは、モジュールの
[
[yii\base\Module::basePath|ベースパス
]
] と呼ばれるディレクトリとして編成されます。
このディレクトリの中に、ちょうどアプリケーションの場合と同じように、
`controllers`
、
`models`
、
`views`
このディレクトリの中に、ちょうどアプリケーションの場合と同じように、
`controllers`
、
`models`
、
`views`
のようなサブディレクトリが存在して、コントローラ、モデル、ビュー、その他のコードを収納しています。
のようなサブディレクトリが存在して、コントローラ、モデル、ビュー、その他のコードを収納しています。
次の例は、モジュール内の中身を示すものです。
次の例は、モジュール内の中身を示すものです。
```
```
...
@@ -34,7 +33,7 @@ forum/
...
@@ -34,7 +33,7 @@ forum/
モジュールがアクセスされたとき、対応するモジュールクラスの単一のインスタンスが作成されます。
モジュールがアクセスされたとき、対応するモジュールクラスの単一のインスタンスが作成されます。
[
アプリケーションのインスタンス
](
structure-applications.md
)
と同じように、モジュールのインスタンスは、モジュール内のコードがデータとコンポーネントを共有するために使用されます。
[
アプリケーションのインスタンス
](
structure-applications.md
)
と同じように、モジュールのインスタンスは、モジュール内のコードがデータとコンポーネントを共有するために使用されます。
次のコードは、モジュールクラスがどのよう
に見える
かを示す例です。
次のコードは、モジュールクラスがどのよう
なもの
かを示す例です。
```
php
```
php
namespace
app\modules\forum
;
namespace
app\modules\forum
;
...
@@ -51,8 +50,7 @@ class Module extends \yii\base\Module
...
@@ -51,8 +50,7 @@ class Module extends \yii\base\Module
}
}
```
```
`init`
メソッドがモジュールのプロパティを初期化するためのコードをたくさん含む場合は、
`init`
メソッドがモジュールのプロパティを初期化するためのコードをたくさん含む場合は、それを
[
構成情報
](
concept-configurations.md
)
の形で保存し、
`init()`
の中で次のコードを使って読み出すことも可能です。
それを
[
構成情報
](
concept-configurations.md
)
の形で保存し、
`init()`
の中で次のコードを使って読み出すことも可能です。
```
php
```
php
public
function
init
()
public
function
init
()
...
@@ -108,7 +106,7 @@ class PostController extends Controller
...
@@ -108,7 +106,7 @@ class PostController extends Controller
例えば、コントローラクラスが
`PostController`
である場合、ディレクトリはモジュールの
[
[yii\base\Module::basePath|ベースパス
]
] の中の
`views/post`
となります。
例えば、コントローラクラスが
`PostController`
である場合、ディレクトリはモジュールの
[
[yii\base\Module::basePath|ベースパス
]
] の中の
`views/post`
となります。
モジュールは、そのモジュールのコントローラによってレンダリングされるビューに適用される
[
レイアウト
](
structure-views.md#layouts
)
を指定することが出来ます。
モジュールは、そのモジュールのコントローラによってレンダリングされるビューに適用される
[
レイアウト
](
structure-views.md#layouts
)
を指定することが出来ます。
レイアウトは、
既定
では
`views/layouts`
ディレクトリに置かれなければならず、また、
[
[yii\base\Module::layout
]
] プロパティがレイアウトの名前を指すように構成しなければなりません。
レイアウトは、
デフォルト
では
`views/layouts`
ディレクトリに置かれなければならず、また、
[
[yii\base\Module::layout
]
] プロパティがレイアウトの名前を指すように構成しなければなりません。
`layout`
プロパティを構成しない場合は、アプリケーションのレイアウトが代りに使用されます。
`layout`
プロパティを構成しない場合は、アプリケーションのレイアウトが代りに使用されます。
...
@@ -138,7 +136,7 @@ class PostController extends Controller
...
@@ -138,7 +136,7 @@ class PostController extends Controller
アプリケーションの中のコントローラをアクセスするのと同じように、
[
ルート
](
structure-controllers.md#routes
)
がモジュールの中のコントローラを指し示すために使われます。
アプリケーションの中のコントローラをアクセスするのと同じように、
[
ルート
](
structure-controllers.md#routes
)
がモジュールの中のコントローラを指し示すために使われます。
モジュール内のコントローラのルートは、モジュール ID で始まり、コントローラ ID、アクション ID と続くものでなければなりません。
モジュール内のコントローラのルートは、モジュール ID で始まり、コントローラ ID、アクション ID と続くものでなければなりません。
例えば、アプリケーションが
`forum`
という名前のモジュールを使用している場合、
`forum/post/index`
というルートは、
`forum`
モジュール内の
`post`
コントローラの
`index`
アクションを表します。
例えば、アプリケーションが
`forum`
という名前のモジュールを使用している場合、
`forum/post/index`
というルートは、
`forum`
モジュール内の
`post`
コントローラの
`index`
アクションを表します。
ルートがモジュール ID だけを含む場合は、
[
[yii\base\Module::defaultRoute
]
] プロパティ (
既定
値は
`default`
です) が、どのコントローラ/アクションが使用されるべきかを決定します。
ルートがモジュール ID だけを含む場合は、
[
[yii\base\Module::defaultRoute
]
] プロパティ (
デフォルト
値は
`default`
です) が、どのコントローラ/アクションが使用されるべきかを決定します。
これは、
`forum`
というルートは
`forum`
モジュール内の
`default`
コントローラを表すという意味です。
これは、
`forum`
というルートは
`forum`
モジュール内の
`default`
コントローラを表すという意味です。
...
@@ -151,11 +149,11 @@ class PostController extends Controller
...
@@ -151,11 +149,11 @@ class PostController extends Controller
$module
=
MyModuleClass
::
getInstance
();
$module
=
MyModuleClass
::
getInstance
();
```
```
ここで
`MyModuleClass`
は、
関心を持っているモジュールクラスの名前を指しま
す。
ここで
`MyModuleClass`
は、
当該モジュールクラスの名前を指すもので
す。
`getInstance()`
メソッドは、現在リクエストされているモジュールクラスのインスタンスを返します。
`getInstance()`
メソッドは、現在リクエストされているモジュールクラスのインスタンスを返します。
モジュールがリクエストされていない場合は、このメソッドは null を返します。
モジュールがリクエストされていない場合は、このメソッドは null を返します。
モジュールクラスの新しいインスタンスを手動で作成しようとしてはいけないことに注意してください。
モジュールクラスの新しいインスタンスを手動で作成しようとしてはいけないことに注意してください。
その
インスタンスは、リクエストに対するレスポンスとして Yii によって作成されたインスタンスとは別のものになります。
手動で作成した
インスタンスは、リクエストに対するレスポンスとして Yii によって作成されたインスタンスとは別のものになります。
> Info|情報: モジュールを開発するとき、モジュールが固定の ID を使うと仮定してはいけません。
> Info|情報: モジュールを開発するとき、モジュールが固定の ID を使うと仮定してはいけません。
なぜなら、モジュールは、アプリケーションや他のモジュールの中で使うときに、任意の ID と結び付けることが出来るからです。
なぜなら、モジュールは、アプリケーションや他のモジュールの中で使うときに、任意の ID と結び付けることが出来るからです。
...
@@ -220,7 +218,7 @@ class Module extends \yii\base\Module
...
@@ -220,7 +218,7 @@ class Module extends \yii\base\Module
$this
->
modules
=
[
$this
->
modules
=
[
'admin'
=>
[
'admin'
=>
[
// ここはもっと短い名前空間の使用を考慮すべき
だ!
// ここはもっと短い名前空間の使用を考慮すべき
です
'class'
=>
'app\modules\forum\modules\admin\Module'
,
'class'
=>
'app\modules\forum\modules\admin\Module'
,
],
],
];
];
...
...
docs/guide-ja/structure-overview.md
View file @
4922cb1f
概要
概要
====
====
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
)
のためのコマンドに変換します。
...
@@ -13,7 +13,7 @@ MVC 以外にも、Yii のアプリケーションは下記の要素を持って
...
@@ -13,7 +13,7 @@ MVC 以外にも、Yii のアプリケーションは下記の要素を持って
*
[
アプリケーション
](
structure-applications.md
)
: グローバルにアクセス可能なオブジェクトであり、アプリケーションコンポーネントを管理し、連携させて、リクエストに応えます。
*
[
アプリケーション
](
structure-applications.md
)
: グローバルにアクセス可能なオブジェクトであり、アプリケーションコンポーネントを管理し、連携させて、リクエストに応えます。
*
[
アプリケーションコンポーネント
](
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
)
に埋め込むことが出来るオブジェクトです。コントローラのロジックを含むことが可能で、異なるビューで再利用することが出来ます。
...
...
docs/guide-ja/structure-views.md
View file @
4922cb1f
...
@@ -80,9 +80,9 @@ use yii\helpers\HtmlPurifier;
...
@@ -80,9 +80,9 @@ use yii\helpers\HtmlPurifier;
アプリケーションが高いパフォーマンスを要求する場合は、フィルター結果を
[
キャッシュ
](
caching-overview.md
)
することを考慮すべきです。
アプリケーションが高いパフォーマンスを要求する場合は、フィルター結果を
[
キャッシュ
](
caching-overview.md
)
することを考慮すべきです。
### ビューを
整理
する <span id="organizing-views"></span>
### ビューを
編成
する <span id="organizing-views"></span>
[
コントローラ
](
structure-controllers.md
)
や
[
モデル
](
structure-models.md
)
と同じように、ビューを
整理
するための規約があります。.
[
コントローラ
](
structure-controllers.md
)
や
[
モデル
](
structure-models.md
)
と同じように、ビューを
編成
するための規約があります。.
*
コントローラによって表示されるビューは、デフォルトでは、ディレクトリ
`@app/views/ControllerID`
の下に置かれるべきものです。
*
コントローラによって表示されるビューは、デフォルトでは、ディレクトリ
`@app/views/ControllerID`
の下に置かれるべきものです。
ここで、
`ControllerID`
は
[
コントローラ ID
](
structure-controllers.md#routes
)
を指します。
ここで、
`ControllerID`
は
[
コントローラ ID
](
structure-controllers.md#routes
)
を指します。
...
@@ -456,14 +456,14 @@ class PostController extends Controller
...
@@ -456,14 +456,14 @@ class PostController extends Controller
<?php
$this
->
endBlock
();
?>
<?php
$this
->
endBlock
();
?>
```
```
次に、レイアウトビューで、得ることが出来ればブロックをレンダリングし、ブロックが定義されていないときは何らかの
既定
のコンテントを表示します。
次に、レイアウトビューで、得ることが出来ればブロックをレンダリングし、ブロックが定義されていないときは何らかの
デフォルト
のコンテントを表示します。
```
php
```
php
...
...
<?php
if
(
isset
(
$this
->
blocks
[
'block1'
]))
:
?>
<?php
if
(
isset
(
$this
->
blocks
[
'block1'
]))
:
?>
<?=
$this
->
blocks
[
'block1'
]
?>
<?=
$this
->
blocks
[
'block1'
]
?>
<?php
else
:
?>
<?php
else
:
?>
... block1 の
既定
のコンテント ...
... block1 の
デフォルト
のコンテント ...
<?php
endif
;
?>
<?php
endif
;
?>
...
...
...
@@ -471,7 +471,7 @@ class PostController extends Controller
...
@@ -471,7 +471,7 @@ class PostController extends Controller
<?php
if
(
isset
(
$this
->
blocks
[
'block2'
]))
:
?>
<?php
if
(
isset
(
$this
->
blocks
[
'block2'
]))
:
?>
<?=
$this
->
blocks
[
'block2'
]
?>
<?=
$this
->
blocks
[
'block2'
]
?>
<?php
else
:
?>
<?php
else
:
?>
... block2 の
既定
のコンテント ...
... block2 の
デフォルト
のコンテント ...
<?php
endif
;
?>
<?php
endif
;
?>
...
...
...
@@ -479,7 +479,7 @@ class PostController extends Controller
...
@@ -479,7 +479,7 @@ class PostController extends Controller
<?php
if
(
isset
(
$this
->
blocks
[
'block3'
]))
:
?>
<?php
if
(
isset
(
$this
->
blocks
[
'block3'
]))
:
?>
<?=
$this
->
blocks
[
'block3'
]
?>
<?=
$this
->
blocks
[
'block3'
]
?>
<?php
else
:
?>
<?php
else
:
?>
... block3 の
既定
のコンテント ...
... block3 の
デフォルト
のコンテント ...
<?php
endif
;
?>
<?php
endif
;
?>
...
...
```
```
...
...
docs/guide-ja/structure-widgets.md
View file @
4922cb1f
ウィジェット
ウィジェット
============
============
ウィジェットは、
[
ビュー
](
structure-views.md
)
で使用される再利用可能な構成ブロックで、
ウィジェットは、
[
ビュー
](
structure-views.md
)
で使用される再利用可能な構成ブロックで、複雑かつ構成可能なユーザインタフェイス要素をオブジェクト指向のやり方で作成するためのものです。
複雑かつ構成可能なユーザインタフェイス要素をオブジェクト指向のやり方で作成するためのものです。
例えば、日付選択ウィジェットを使うと、入力として日付を選択することを可能にする素敵なデイトピッカーを生成することが出来ます。
例えば、日付選択ウィジェットを使うと、入力として日付を選択することを可能にする素敵なデイトピッカーを生成することが出来ます。
このとき、あなたがしなければならないことは、次のようなコードをビューに挿入することだけです:
このとき、あなたがしなければならないことは、次のようなコードをビューに挿入することだけです:
...
@@ -41,7 +40,7 @@ use yii\jui\DatePicker;
...
@@ -41,7 +40,7 @@ use yii\jui\DatePicker;
```
```
ウィジェットの中には、コンテントのブロックを受け取ることが出来るものもあります。
ウィジェットの中には、コンテントのブロックを受け取ることが出来るものもあります。
その場合、コンテントのブロックは
[
[yii\base\Widget::begin()
]
] と
[
[yii\base\Widget::end()
]
] の呼び出し
の間に包
むようにしなければなりません。
その場合、コンテントのブロックは
[
[yii\base\Widget::begin()
]
] と
[
[yii\base\Widget::end()
]
] の呼び出し
で囲
むようにしなければなりません。
例えば、次のコードは
[
[yii\widgets\ActiveForm
]
] ウィジェットを使ってログインフォームを生成するものです。
例えば、次のコードは
[
[yii\widgets\ActiveForm
]
] ウィジェットを使ってログインフォームを生成するものです。
このウィジェットは、
`begin()`
と
`end()`
が呼ばれる場所で、それぞれ、開始と終了の
`<form>`
タグを生成します。
このウィジェットは、
`begin()`
と
`end()`
が呼ばれる場所で、それぞれ、開始と終了の
`<form>`
タグを生成します。
その間に置かれたものは全てそのままレンダリングされます。
その間に置かれたものは全てそのままレンダリングされます。
...
@@ -155,8 +154,7 @@ use app\components\HelloWidget;
...
@@ -155,8 +154,7 @@ use app\components\HelloWidget;
```
```
場合によっては、ウィジェットが大きな固まりのコンテントを表示する必要があるかもしれません。
場合によっては、ウィジェットが大きな固まりのコンテントを表示する必要があるかもしれません。
コンテントを
`run()`
メソッドの中に埋め込むことも出来ますが、より良い方法は、コンテントを
[
ビュー
](
structure-views.md
)
コンテントを
`run()`
メソッドの中に埋め込むことも出来ますが、より良い方法は、コンテントを
[
ビュー
](
structure-views.md
)
の中に置いて、
[
[yii\base\Widget::render()
]
] を呼んでレンダリングすることです。
の中に置いて、
[
[yii\base\Widget::render()
]
] を呼んでレンダリングすることです。
例えば、
例えば、
```
php
```
php
...
@@ -166,7 +164,7 @@ public function run()
...
@@ -166,7 +164,7 @@ public function run()
}
}
```
```
既定
では、ウィジェット用のビューは
`WidgetPath/views`
ディレクトリの中のファイルに保存すべきものです。
デフォルト
では、ウィジェット用のビューは
`WidgetPath/views`
ディレクトリの中のファイルに保存すべきものです。
ここで
`WidgetPath`
はウィジェットのクラスファイルを含むディレクトリを指します。
ここで
`WidgetPath`
はウィジェットのクラスファイルを含むディレクトリを指します。
したがって、上記の例では、ウィジェットクラスが
`@app/components`
に配置されていると仮定すると、
`@app/components/views/hello.php`
というビューファイルがレンダリングされることになります。
したがって、上記の例では、ウィジェットクラスが
`@app/components`
に配置されていると仮定すると、
`@app/components/views/hello.php`
というビューファイルがレンダリングされることになります。
[
[yii\base\Widget::getViewPath()
]
] メソッドをオーバーライドして、ウィジェットのビューファイルを含むディレクトリをカスタマイズすることが出来ます。
[
[yii\base\Widget::getViewPath()
]
] メソッドをオーバーライドして、ウィジェットのビューファイルを含むディレクトリをカスタマイズすることが出来ます。
...
@@ -185,5 +183,4 @@ public function run()
...
@@ -185,5 +183,4 @@ public function run()
幸いなことに、Yii はこの問題を解決するのに利用することが出来る
[
アセットバンドル
](
structure-assets.md
)
のサポートを提供しています。
幸いなことに、Yii はこの問題を解決するのに利用することが出来る
[
アセットバンドル
](
structure-assets.md
)
のサポートを提供しています。
ウィジェットがビューコードだけを含む場合は、
[
ビュー
](
structure-views.md
)
と非常に似たものになります。
ウィジェットがビューコードだけを含む場合は、
[
ビュー
](
structure-views.md
)
と非常に似たものになります。
実際のところ、この場合、両者の唯一の違いは、ウィジェットが再配布可能なクラスである一方で、
実際のところ、この場合、両者の唯一の違いは、ウィジェットが再配布可能なクラスである一方で、ビューはアプリケーション内に保持することが望ましい素の PHP スクリプトである、というぐらいの事です。
ビューはアプリケーション内に保持することが望ましい素の PHP スクリプトである、というぐらいの事です。
docs/guide-ja/test-fixtures.md
View file @
4922cb1f
...
@@ -181,13 +181,13 @@ foreach ($this->profiles as $row) ...
...
@@ -181,13 +181,13 @@ foreach ($this->profiles as $row) ...
その必要がなければ、単にそれぞれの個別テストケースとそれに対応するフィクスチャの開発に専念することが出来ます。
その必要がなければ、単にそれぞれの個別テストケースとそれに対応するフィクスチャの開発に専念することが出来ます。
フィクスチャクラスとデータファイルを
組織化
する
フィクスチャクラスとデータファイルを
編成
する
--------------------------------------------
--
--------------------------------------------
デフォルトでは、フィクスチャクラスは対応するデータファイルを探すときに、フィクスチャのクラスファイルを含むフォルダのサブフォルダである
`data`
フォルダの中を見ます。
デフォルトでは、フィクスチャクラスは対応するデータファイルを探すときに、フィクスチャのクラスファイルを含むフォルダのサブフォルダである
`data`
フォルダの中を見ます。
簡単なプロジェクトではこの規約に従うことができます。
簡単なプロジェクトではこの規約に従うことができます。
大きなプロジェクトでは、おそらくは、同じフィクスチャクラスを異なるテストに使うために、データファイルを切り替える必要がある場合がよく生じます。
大きなプロジェクトでは、おそらくは、同じフィクスチャクラスを異なるテストに使うために、データファイルを切り替える必要がある場合がよく生じます。
従って、クラスの名前空間と同じように、データファイルを階層的な方法で
組織化
することを推奨します。
従って、クラスの名前空間と同じように、データファイルを階層的な方法で
編成
することを推奨します。
例えば、
例えば、
```
```
...
@@ -215,7 +215,7 @@ data\
...
@@ -215,7 +215,7 @@ data\
> 例えば、DB フィクスチャを [[yii\test\ActiveFixture]] から拡張している場合は、DB テーブルの名前をフィクスチャのデータファイル名として使うべきです。
> 例えば、DB フィクスチャを [[yii\test\ActiveFixture]] から拡張している場合は、DB テーブルの名前をフィクスチャのデータファイル名として使うべきです。
> MongoDB フィクスチャを [[yii\mongodb\ActiveFixture]] から拡張している場合は、コレクション名をファイル名として使うべきです。
> MongoDB フィクスチャを [[yii\mongodb\ActiveFixture]] から拡張している場合は、コレクション名をファイル名として使うべきです。
同様な階層は、フィクスチャクラスファイルを
組織化
するのにも使うことが出来ます。
同様な階層は、フィクスチャクラスファイルを
編成
するのにも使うことが出来ます。
`data`
をルートディレクトリとして使うのでなく、データファイルとの衝突を避けるために
`fixtures`
をルートディレクトリとして使うのが良いでしょう。
`data`
をルートディレクトリとして使うのでなく、データファイルとの衝突を避けるために
`fixtures`
をルートディレクトリとして使うのが良いでしょう。
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment