mirror of
https://github.com/yiisoft/yii2.git
synced 2026-03-19 13:48:28 +01:00
docs/guide-ja updated [ci skip]
This commit is contained in:
@@ -81,3 +81,30 @@ return [
|
||||
];
|
||||
```
|
||||
|
||||
コンポーネントが複雑なものである場合に、構成の複雑さを隠蔽する追加のクラスを作成するのは良いアイデアです。
|
||||
|
||||
```php
|
||||
class FacebookSDK {
|
||||
public static function service($config) {
|
||||
return function() use $config {
|
||||
// ここでオブジェクトを構築する
|
||||
return $object;
|
||||
};
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
これを次のように使うことが出来ます。
|
||||
|
||||
```php
|
||||
return [
|
||||
// ...
|
||||
'components' => [
|
||||
// ...
|
||||
'facebook' => FacebookSDK::service([
|
||||
'secret' => 'theverysecret',
|
||||
// ...
|
||||
]),
|
||||
],
|
||||
];
|
||||
```
|
||||
|
||||
@@ -590,21 +590,16 @@ yii asset assets.php config/assets-prod.php
|
||||
優秀なタスク実行ツールである [grunt](http://gruntjs.com/) を使っても、同じ目的を達することが出来ます。
|
||||
|
||||
|
||||
### アセットバンドルをグループに分ける <span id="using-asset-groups"></span>
|
||||
### アセットバンドルをグループ化する <span id="grouping-asset-bundles"></span>
|
||||
|
||||
場合によっては、全ての JavaScript と CSS のファイルを一つに圧縮することが良い選択肢にならないことがあります。
|
||||
例えば、あなたのアプリケーションがフロントエンドとバックエンドに分れていて、それぞれが自分専用の JavaScript と CSS のファイルを持っていると想像して下さい。
|
||||
このような場合に全てのファイルを一つに結合することは、余分なネットワークトラフィックを発生させるため、合理的ではありません。
|
||||
フロントエンドにアクセスするときに、バックエンドのファイルのソースコードもロードされることになります。
|
||||
逆の場合もまた同じです。
|
||||
直前の項において、全てのアセットバンドルを一つに結合して、アプリケーションで参照されるアセットファイルに対する HTTP リクエストを最小化する方法を説明しました。
|
||||
現実には、それが常に望ましいわけではありません。
|
||||
例えば、あなたのアプリケーションがフロントエンドとバックエンドを持っており、それぞれが異なる一群の JavaScript と CSS ファイルを使う場合を想像してください。
|
||||
この場合、両方の側の全てのアセットバンドルを一つに結合するのは合理的ではありません。
|
||||
何故なら、フロントエンドのためのアセットバンドルはバックエンドでは使用されませんから、フロントエンドのページがリクエストされているときにバックエンドのアセットを送信するのはネットワーク帯域の浪費です。
|
||||
|
||||
`asset` コマンドを実行するときに、二つ以上のターゲットバンドルを指定して、バンドルをグループ化することが出来ます。
|
||||
どのバンドルをどのグループに圧縮するかを指定するためには、ターゲットバンドルの構成情報の `depends` キーを使います。
|
||||
一つに結合すべきバンドルのクラス名を `depends` キーに列挙するだけで良いのです。
|
||||
ターゲットバンドルのうちの一つは、`depends` キーを空にしておくことが出来ます。
|
||||
そうすれば、そのターゲットバンドルが残りのソースバンドルの全てを含むことになります。
|
||||
|
||||
そのような構成情報は次のようなものになります。
|
||||
上記の問題を解決するために、アセットバンドルをグループ化して、グループごとにアセットバンドルを結合することが出来ます。
|
||||
下記の構成情報は、アセットバンドルをグループ化する方法を示すものです。
|
||||
|
||||
```php
|
||||
return [
|
||||
@@ -631,12 +626,17 @@ return [
|
||||
'allFrontEnd' => [
|
||||
'js' => 'js/all-{hash}.js',
|
||||
'css' => 'css/all-{hash}.css',
|
||||
'depends' => [], // 残りのアセット全てを含める
|
||||
'depends' => [], // 残りの全てのアセットを含める
|
||||
],
|
||||
],
|
||||
...
|
||||
];
|
||||
```
|
||||
|
||||
> Note|注意: ソースのアセットバンドルの依存関係に気を付けてください。
|
||||
注意しないと、独立させたはずのターゲットバンドルが実際にはお互いに依存しあっている、ということになり得ます。
|
||||
ご覧のように、アセットバンドルは三つのグループ、すなわち、`allShared`、`allBackEnd` および `allFrontEnd` に分けられています。
|
||||
そして、それぞれが適切な一群のアセットバンドルに依存しています。
|
||||
例えば、`allBackEnd` は `app\assets\AdminAsset` に依存しています。
|
||||
この構成情報によって `asset` コマンドを実行すると、上記の定義に従ってアセットバンドルが結合されます。
|
||||
|
||||
> Info|情報: ターゲットバンドルのうちの一つについて `depends` の構成を空のままにしておくことが出来ます。
|
||||
そのようにすると、他のターゲットバンドルが依存しないために残された全てのアセットバンドルが、このターゲットバンドルに含まれるようになります。
|
||||
|
||||
@@ -257,7 +257,6 @@ echo $this->render('report', [
|
||||
|
||||
```php
|
||||
The controller ID is: <?= $this->context->id ?>
|
||||
?>
|
||||
```
|
||||
|
||||
通常は「プッシュ」アプローチが、ビューでデータにアクセスする方法として推奨されます。
|
||||
|
||||
Reference in New Issue
Block a user