mirror of
https://github.com/yiisoft/yii2.git
synced 2025-11-02 21:41:19 +08:00
docs/guide-ja updated [ci skip]
This commit is contained in:
@ -4,7 +4,7 @@
|
||||
データキャッシュは PHP の変数をキャッシュに格納し、あとでキャッシュからそれらを読み込みます。
|
||||
これは、[クエリキャッシュ](#query-caching) や [ページキャッシュ](caching-page.md) などの、より高度なキャッシュ機能の基礎でもあります。
|
||||
|
||||
以下はデータキャッシュの典型的な利用パターンを示したコードです。`$cache` は [キャッシュコンポーネント](#cache-components) を指します:
|
||||
以下のコードが、データキャッシュの典型的な利用パターンです。ここで、`$cache` は [キャッシュコンポーネント](#cache-components) を指しています。
|
||||
|
||||
```php
|
||||
// キャッシュから $data を取得しようと試みる
|
||||
@ -49,9 +49,9 @@ if ($data === false) {
|
||||
],
|
||||
```
|
||||
|
||||
上記のキャッシュコンポーネントには `Yii::$app->cache` という式でアクセスできます。
|
||||
こうすると、上記のキャッシュコンポーネントに `Yii::$app->cache` という式でアクセスできるようになります。
|
||||
|
||||
すべてのキャッシュコンポーネントは同じ API をサポートしているので、アプリケーションの構成情報で設定しなおせば、キャッシュを使っているコードに変更を加えなくても、異なるキャッシュコンポーネントに入れ替えることができます。
|
||||
すべてのキャッシュコンポーネントは同じ API をサポートしているので、アプリケーションの構成情報で設定しなおせば、キャッシュを使っているコードに変更を加えることなく、異なるキャッシュコンポーネントに入れ替えることができます。
|
||||
例えば上記の構成を [[yii\caching\ApcCache|APC キャッシュ]] を使うように変更する場合は以下のようにします:
|
||||
|
||||
|
||||
@ -63,7 +63,7 @@ if ($data === false) {
|
||||
],
|
||||
```
|
||||
|
||||
> Tip: キャッシュコンポーネントは複数登録することができます。`cache` という名前のコンポーネントはキャッシュに依存したクラスによってデフォルトで使用されています (例えば [[yii\web\UrlManager]] など) 。
|
||||
> Tip: キャッシュコンポーネントは複数登録することができます。`cache` という名前のコンポーネントが、キャッシュに依存する多数のクラスによってデフォルトで使用されます (例えば [[yii\web\UrlManager]] など) 。
|
||||
|
||||
|
||||
### サポートされているキャッシュストレージ <span id="supported-cache-storage"></span>
|
||||
@ -78,7 +78,7 @@ Yii はさまざまなキャッシュストレージをサポートしていま
|
||||
このコンポーネントの目的は、キャッシュが利用できることをチェックするためのコードを簡略化することです。
|
||||
たとえば、開発中やサーバに実際のキャッシュサポートがない場合に、このキャッシュを使用するようにキャッシュコンポーネントを構成することができます。
|
||||
そして、実際のキャッシュサポートが有効になったときに、対応するキャッシュコンポーネントに切替えて使用します。
|
||||
どちらの場合も、`Yii::$app->cache` が null かも知れないと心配せずに、データを取得するために同じコード `Yii::$app->cache->get($key)` を使用できます。
|
||||
どちらの場合も、`Yii::$app->cache` が `null` かも知れないと心配せずに、データを取得するために同じコード `Yii::$app->cache->get($key)` を使用できます。
|
||||
* [[yii\caching\FileCache]]: キャッシュされたデータを保存するために通常のファイルを使用します。これはページコンテントなど大きなかたまりのデータに特に適しています。
|
||||
* [[yii\caching\MemCache]]: PHP の [Memcache](http://php.net/manual/ja/book.memcache.php) と [Memcached](http://php.net/manual/ja/book.memcached.php) 拡張モジュールを使用します。
|
||||
分散型のアプリケーションでキャッシュを扱うときには最速の一つとして考えることができます (例えば、複数台のサーバで、ロードバランサがある、などの場合) 。
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
ページキャッシュ
|
||||
============
|
||||
================
|
||||
|
||||
ページキャッシュはサーバサイドでページ全体のコンテントをキャッシュすることを言います。あとで、同じページに再度リクエストがあった場合、その内容を一から再び生成させるのではなく、キャッシュから提供するようにします。
|
||||
|
||||
@ -29,4 +29,4 @@ public function behaviors()
|
||||
|
||||
見てわかるように、ページキャッシュは [フラグメントキャッシュ](caching-fragment.md) ととてもよく似ています。それらは両方とも `duration`、`dependencies`、`variations`、そして `enabled` などのオプションをサポートしています。主な違いとしては、ページキャッシュは [アクションフィルタ](structure-filters.md) として、フラグメントキャッシュは [ウィジェット](structure-widgets.md) として実装されているということです。
|
||||
|
||||
また、ページキャッシュと一緒に [フラグメントキャッシュ](caching-fragment.md) だけでなく [ダイナミックコンテント](caching-fragment.md#dynamic-content) も使用することができます。
|
||||
[フラグメントキャッシュ](caching-fragment.md) も、[ダイナミックコンテント](caching-fragment.md#dynamic-content) も、ページキャッシュと併用することができます。
|
||||
|
||||
@ -67,8 +67,8 @@ getter と setter で定義されたプロパティには、いくつかの特
|
||||
* この種のプロパティでは、名前の *大文字と小文字を区別しません* 。たとえば、 `$object->label` と `$object->Label` は同じです。
|
||||
これは、PHP のメソッド名が大文字と小文字を区別しないためです。
|
||||
* この種のプロパティの名前と、クラスのメンバ変数の名前とが同じである場合、後者が優先されます。
|
||||
たとえば、上記の `Foo` クラスがもしメンバ変数 `label` を持っているとすると、`$object->label = 'abc'`
|
||||
という代入は *メンバ変数の* `label` に作用することになり、その行で `setLabel()` setter メソッドは呼び出されなくなります。
|
||||
たとえば、上記の `Foo` クラスがメンバ変数 `label` を持っている場合は、`$object->label = 'abc'`
|
||||
という代入は *メンバ変数の* `label` に作用することになります。その行から `setLabel()` setter メソッドは呼び出されません。
|
||||
* これらのプロパティは可視性をサポートしていません。プロパティが public、protected、private であるかどうかを、
|
||||
getter または setter メソッドの定義によって決めることは出来ません。
|
||||
* プロパティは、 *静的でない* getter および setter によってのみ定義することが出来ます。静的なメソッドは同様には扱われません。
|
||||
|
||||
@ -170,10 +170,10 @@ Pjax::end();
|
||||
[[https://github.com/jquery/jquery/issues/2321|ファイル]] および
|
||||
[[https://github.com/jquery/jquery/issues/2321|送信ボタンの値]]
|
||||
を扱うときに問題があることが知られています。
|
||||
これは解決される見込みがなく、HTML5 で導入された `FormData` クラスの使用に乗り換えるべく、廃止予定となっています。
|
||||
この問題は解決される見込みがなく、関数自体も HTML5 で導入された `FormData` クラスによって置き換えられるべきものとして、廃止予定となっています。
|
||||
|
||||
このことは、すなわち、ajax または [[yii\widgets\Pjax|Pjax]] ウィジェットを使う場合、ファイルと送信ボタンの値に対する公式なサポートは、ひとえに
|
||||
`FormData` クラスに対する [[https://developer.mozilla.org/en-US/docs/Web/API/FormData#Browser_compatibility|ブラウザのサポート]] に依存するということを意味します。
|
||||
このことは、すなわち、ajax または [[yii\widgets\Pjax|Pjax]] ウィジェットを使う場合、ファイルと送信ボタンの値に対する唯一の公式なサポートは、
|
||||
`FormData` クラスに対する [[https://developer.mozilla.org/en-US/docs/Web/API/FormData#Browser_compatibility|ブラウザのサポート]] に依存しているということを意味します。
|
||||
|
||||
|
||||
さらに読むべき文書 <span id="further-reading"></span>
|
||||
|
||||
@ -92,6 +92,14 @@ $url = Url::to(['post/view', 'id' => 100]);
|
||||
];
|
||||
```
|
||||
|
||||
アプリケーションのデフォルトルートと同じく、モジュールにもデフォルトルートがあります。
|
||||
従って、例えば、`user` というモジュールがあって、リクエストの解析結果が `user` というルートになった場合、
|
||||
このモジュールの [[yii\base\Module::defaultRoute|defaultRoute]] がコントローラを決定するのに使用されます。
|
||||
デフォルトでは、このコントローラの名前は `default` となります。
|
||||
[[yii\base\Module::defaultRoute|defaultRoute]] でアクションが指定されていない場合は、
|
||||
コントローラの [[yii\base\Controller::defaultAction|defaultAction]] プロパティがアクションを決定するのに使用されます。
|
||||
この例の場合だと、完全なルートは `user/default/index` となります。
|
||||
|
||||
|
||||
### `catchAll` ルート <span id="catchall-route"></span>
|
||||
|
||||
|
||||
@ -229,8 +229,8 @@ class User extends ActiveRecord
|
||||
|
||||
受信したデータを検証するために、[[yii\base\Model::validate()]] を呼ぶことが出来ます。
|
||||
このメソッドは、[[yii\base\Model::rules()]] で宣言された検証規則を使って、該当するすべての属性を検証します。
|
||||
エラーが見つからなければ、メソッドは true を返します。
|
||||
そうでなければ、[[yii\base\Model::errors]] にエラーを保存して、false を返します。
|
||||
エラーが見つからなければ、メソッドは `true` を返します。
|
||||
そうでなければ、[[yii\base\Model::errors]] にエラーを保存して、`false` を返します。
|
||||
例えば、
|
||||
|
||||
```php
|
||||
@ -389,9 +389,11 @@ public function rules()
|
||||
|
||||
モデルを他の形式にエクスポートする必要が生じることはよくあります。
|
||||
例えば、モデルのコレクションを JSON や Excel 形式に変換したい場合があるでしょう。
|
||||
エクスポートのプロセスは二つの独立したステップに分割することが出来ます。
|
||||
最初のステップで、モデルは配列に変換されます。
|
||||
そして第二のステップで、配列が目的の形式に変換されます。
|
||||
このエクスポートのプロセスは二つの独立したステップに分割することが出来ます。
|
||||
|
||||
- モデルが配列に変換され、
|
||||
- 配列が目的の形式に変換される。
|
||||
|
||||
あなたは最初のステップだけに注力することが出来ます。
|
||||
と言うのは、第二のステップは汎用的なデータフォーマッタ、例えば [[yii\web\JsonResponseFormatter]] によって達成できるからです。
|
||||
|
||||
|
||||
@ -15,10 +15,15 @@ Yii における単体テストは、PHPUnit と Codeception (こちらはオプ
|
||||
- [PHPUnit のドキュメントの第2章以降](http://phpunit.de/manual/current/en/writing-tests-for-phpunit.html).
|
||||
- [Codeception Unit Tests](http://codeception.com/docs/05-UnitTests).
|
||||
|
||||
アプリケーションテンプレートの単体テストを走らせる
|
||||
--------------------------------------------------
|
||||
ベーシックおよびアドバンストのテンプレートのテストを実行する
|
||||
------------------------------------------------------------
|
||||
|
||||
アドバンストテンプレートでプロジェクトを開始した場合、テストの実行については、
|
||||
["テスト" のガイド](https://github.com/yiisoft/yii2-app-advanced/blob/master/docs/guide-ja/start-testing.md) を参照して下さい。
|
||||
|
||||
ベーシックテンプレートでプロジェクトを開始した場合は、
|
||||
check its [README の "testing" の節](https://github.com/yiisoft/yii2-app-basic/blob/master/README.md#testing) を参照して下さい。
|
||||
|
||||
`apps/advanced/tests/README.md` および `apps/basic/tests/README.md` で提供されている説明を参照してください。
|
||||
|
||||
フレームワークの単体テスト
|
||||
--------------------------
|
||||
|
||||
Reference in New Issue
Block a user