merge from yiisoft/yii2

This commit is contained in:
cuileon
2018-11-14 11:57:32 +08:00
parent 47df8a8cc0
commit 489dd119a5
426 changed files with 18465 additions and 4215 deletions

View File

@ -1,11 +1,13 @@
ルーティング
============
リソースとコントローラのクラスが準備できたら、通常のウェブ・アプリケーションと同じように、`http://localhost/index.php?r=user/create` というような URL を使ってリソースにアクセスすることが出来ます。
リソースとコントローラのクラスが準備できたら、通常のウェブ・アプリケーションと同じように、
`http://localhost/index.php?r=user/create` というような URL を使ってリソースにアクセスすることが出来ます。
実際には、綺麗な URL を有効にして HTTP 動詞を利用したいというのが普通でしょう。
例えば、`POST /users` というリクエストが `user/create` アクションへのアクセスを意味するようにする訳です。
これは、アプリケーションの構成情報で `urlManager` [アプリケーション・コンポーネント](structure-application-components.md) を次のように構成することによって容易に達成することが出来ます。
これは、アプリケーションの構成情報で `urlManager` [アプリケーション・コンポーネント](structure-application-components.md)
を次のように構成することによって容易に達成することが出来ます。
```php
'urlManager' => [
@ -18,7 +20,8 @@
]
```
ウェブ・アプリケーションの URL 管理と比べたときに、上記で目に付く新しいことは、RESTful API リクエストのルーティングに [[yii\rest\UrlRule]] を使用していることです。
ウェブ・アプリケーションの URL 管理と比べたときに、上記で目に付く新しいことは、
RESTful API リクエストのルーティングに [[yii\rest\UrlRule]] を使用していることです。
この特殊な URL 規則クラスが、一揃いの子 URL 規則を作成して、指定されたコントローラのルーティングと URL 生成をサポートします。
例えば、上記のコードは、おおむね下記の規則と等価です。
@ -46,8 +49,8 @@
* `OPTIONS /users`: エンド・ボイント `/users` に関してサポートされる動詞を示す。
* `OPTIONS /users/123`: エンド・ボイント `/users/123` に関してサポートされる動詞を示す。
`only` および `except` オプションを構成すると、それぞれ、どのアクションをサポートするか、また、どのアクションを無効にするかを明示的に指定することが出来ます。
例えば、
`only` および `except` オプションを構成すると、それぞれ、どのアクションをサポートするか、
また、どのアクションを無効にするかを明示的に指定することが出来ます。例えば、
```php
[
@ -75,10 +78,10 @@
この振舞いは [[yii\rest\UrlRule::pluralize]] を `false` に設定することで無効にすることが出来ます。
> Info: コントローラ ID の複数形化は [[yii\helpers\Inflector::pluralize()]] によって行われます。
このメソッドは特殊な複数形の規則を考慮します。
例えば、`box` という単語の複数形は `boxs` ではなく `boxes` になります。
このメソッドは特殊な複数形の規則を考慮します。例えば、`box` という単語の複数形は `boxs` ではなく `boxes` になります。
自動的な複数形化があなたの要求を満たさない場合は、[[yii\rest\UrlRule::controller]] プロパティを構成して、エンド・ボイント URL で使用される名前とコントローラ ID の対応を明示的に指定することも可能です。
自動的な複数形化があなたの要求を満たさない場合は、[[yii\rest\UrlRule::controller]] プロパティを構成して、
エンド・ボイント URL で使用される名前とコントローラ ID の対応を明示的に指定することも可能です。
例えば、次のコードはエンド・ボイント名 `u` をコントローラ ID `user` に割り当てます。
```php