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
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
PSDI Army
yii2
Commits
8e725955
Commit
8e725955
authored
Jan 31, 2015
by
Nobuo Kihara
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
docs/guide-ja changed "コンテンツ" to "コンテント" [ci skip]
parent
75dd45a8
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
25 additions
and
25 deletions
+25
-25
caching-data.md
docs/guide-ja/caching-data.md
+3
-3
caching-fragment.md
docs/guide-ja/caching-fragment.md
+0
-0
caching-http.md
docs/guide-ja/caching-http.md
+5
-5
caching-page.md
docs/guide-ja/caching-page.md
+3
-3
intro-yii.md
docs/guide-ja/intro-yii.md
+1
-1
runtime-responses.md
docs/guide-ja/runtime-responses.md
+2
-2
structure-assets.md
docs/guide-ja/structure-assets.md
+1
-1
structure-extensions.md
docs/guide-ja/structure-extensions.md
+1
-1
structure-filters.md
docs/guide-ja/structure-filters.md
+1
-1
structure-widgets.md
docs/guide-ja/structure-widgets.md
+8
-8
No files found.
docs/guide-ja/caching-data.md
View file @
8e725955
...
...
@@ -71,14 +71,14 @@ Yii 縺ッ縺輔∪縺悶∪縺ェ繧ュ繝」繝す繝・繧ケ繝医Ξ繝シ繧ク繧偵し繝昴繝医@縺ヲ縺∪
*
[
[yii\caching\ApcCache
]
]: PHP の
[
APC
](
http://php.net/manual/ja/book.apc.php
)
拡張モジュールを使用します。集中型の分厚いアプリケーションのキャッシュを扱うときには最速の一つとして考えることができます (例えば、サーバが 1 台であったり、専用のロードバランサを持っていない、など) 。
*
[
[yii\caching\DbCache
]
]: キャッシュされたデータを格納するためにデータベースのテーブルを使用します。このキャッシュを使用するには
[
[yii\caching\DbCache::cacheTable
]
] で指定したテーブルを作成する必要があります。
*
[
[yii\caching\DummyCache
]
]: 実際にはキャッシュを行わない、キャッシュの代替を提供します。このコンポーネントの目的は、キャッシュが利用できることをチェックするためのコードを簡略化することです。たとえば、開発中やサーバに実際のキャッシュサポートがない場合に、このキャッシュコンポーネントを使用することができます。そして、実際のキャッシュサポートが有効になったときに、対応するキャッシュコンポーネントに切替えて使用します。 どちらの場合も、
`Yii::$app->cache`
が null かも知れないと心配せずに、データを取得するために同じコード
`Yii::$app->cache->get($key)`
を使用できます。
*
[
[yii\caching\FileCache
]
]: キャッシュされたデータを保存するために標準ファイルを使用します。これはページコンテンツなど大きなかたまりのデータに特に適しています。
*
[
[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
)
拡張モジュールを使用します。分散型のアプリケーションでキャッシュを扱うときには最速の一つとして考えることができます (例えば、複数台のサーバ構成であったり、ロードバランサなど) 。
*
[
[yii\redis\Cache
]
]:
[
Redis
](
http://redis.io/
)
の key-value ストアに基づいてキャッシュコンポーネントを実装しています。(Redis の バージョン 2.6.12 以降が必要です) 。
*
[
[yii\caching\WinCache
]
]: PHP の
[
WinCache
](
http://iis.net/downloads/microsoft/wincache-extension
)
(
[関連リンク](http://php.net/manual/ja/book.wincache.php
)
) 拡張モジュールを使用します。
*
[
[yii\caching\XCache
]
]: PHP の
[
XCache
](
http://xcache.lighttpd.net/
)
拡張モジュールを使用します。
*
[
[yii\caching\ZendDataCache
]
]: キャッシュメディアして
[
Zend Data Cache
](
http://files.zend.com/help/Zend-Server-6/zend-server.htm#data_cache_component.htm
)
を使用します。
> ヒント: 同じアプリケーション内で異なるキャッシュを使用することもできます。一般的なやり方として、小さくとも常に使用されるデータ (例えば、統計データなど) を格納する場合はメモリベースのキャッシュストレージを使用し、大きくて使用頻度の低いデータを格納する場合はファイルベース、またはデータベースのキャッシュストレージを使用します (例えば、ページコンテンツなど) 。
> ヒント: 同じアプリケーション内で異なるキャッシュを使用することもできます。一般的なやり方として、小さくとも常に使用されるデータ (例えば、統計データなど) を格納する場合はメモリベースのキャッシュストレージを使用し、大きくて使用頻度の低いデータを格納する場合はファイルベース、またはデータベースのキャッシュストレージを使用します (例えば、ページコンテントなど) 。
## キャッシュ API <span id="cache-apis"></span>
...
...
@@ -161,7 +161,7 @@ if ($data === false) {
### キャッシュの依存関係 <span id="cache-dependencies"></span>
有効期限の設定に加えて、キャッシュされたデータにはいわゆる
*キャッシュの依存関係*
の変化によって無効にすることもできます。例えば
[
[yii\caching\FileDependency
]
] はファイルの更新時刻の依存関係を表しています。依存関係が変更されたときに、対応するファイルが更新されることを意味しています。その結果、キャッシュ内で見つかった古いファイルのコンテンツは、無効とされるべきであり
[
[yii\caching\Cache::get()|get()
]
] は false を返します。
有効期限の設定に加えて、キャッシュされたデータにはいわゆる
*キャッシュの依存関係*
の変化によって無効にすることもできます。例えば
[
[yii\caching\FileDependency
]
] はファイルの更新時刻の依存関係を表しています。依存関係が変更されたときに、対応するファイルが更新されることを意味しています。その結果、キャッシュ内で見つかった古いファイルのコンテントは、無効とされるべきであり
[
[yii\caching\Cache::get()|get()
]
] は false を返します。
キャッシュの依存関係は
[
[yii\caching\Dependency
]
] 子孫クラスのオブジェクトとして表現されます。
[
[yii\caching\Cache::set()|set()
]
] でキャッシュにデータを格納する際に、関連するキャッシュの依存関係を知らせることができます。例えば、
...
...
docs/guide-ja/caching-fragment.md
View file @
8e725955
This diff is collapsed.
Click to expand it.
docs/guide-ja/caching-http.md
View file @
8e725955
HTTP キャッシュ
============
前の節で説明したサーバーサイドのキャッシュに加えて、ウェブアプリケーションは、同じページコンテン
ツ
を生成し送信する時間を節約するために、クライアントサイドでもキャッシュを利用することができます。
前の節で説明したサーバーサイドのキャッシュに加えて、ウェブアプリケーションは、同じページコンテン
ト
を生成し送信する時間を節約するために、クライアントサイドでもキャッシュを利用することができます。
クライアントサイドのキャッシュを使用するには、レンダリング結果をキャッシュできるように、コントローラアクションのフィルタとして
[
[yii\filters\HttpCache
]
] を設定します。
[
[yii\filters\HttpCache
]
] は
`GET`
と
`HEAD`
リクエストに対してのみ動作し、また、それらのリクエストは 3 種類のキャッシュ関連の HTTP ヘッダを扱うことができます:
...
...
@@ -43,12 +43,12 @@ public function behaviors()
}
```
上記のコードは
`index`
アクションでのみ HTTP キャッシュを有効にしている状態です。投稿の最終更新時刻に基づいて
`Last-Modified`
を生成する必要があります。ブラウザが初めて
`index`
ページにアクセスすると、ページはサーバ上で生成されブラウザに送信されます。もしブラウザが再度同じページにアクセスし、その期間中に投稿に変更がない場合は、ブラウザはクライアントサイドにキャッシュしたものを使用するので、サーバはページを再生成することはありません。その結果、サーバサイドのレンダリング処理とページコンテン
ツ
の送信は両方ともスキップされます。
上記のコードは
`index`
アクションでのみ HTTP キャッシュを有効にしている状態です。投稿の最終更新時刻に基づいて
`Last-Modified`
を生成する必要があります。ブラウザが初めて
`index`
ページにアクセスすると、ページはサーバ上で生成されブラウザに送信されます。もしブラウザが再度同じページにアクセスし、その期間中に投稿に変更がない場合は、ブラウザはクライアントサイドにキャッシュしたものを使用するので、サーバはページを再生成することはありません。その結果、サーバサイドのレンダリング処理とページコンテン
ト
の送信は両方ともスキップされます。
## `ETag` ヘッダ <span id="etag"></span>
"Entity Tag" (略して
`ETag`
) ヘッダはページコンテン
ツ
を表すためにハッシュを使用します。ページが変更された場合ハッシュも同様に変更されます。サーバサイドで生成されたハッシュとクライアントサイドで保持しているハッシュを比較することによって、ページが変更されたかどうか、また再送信するべきかどうかを決定します。
"Entity Tag" (略して
`ETag`
) ヘッダはページコンテン
ト
を表すためにハッシュを使用します。ページが変更された場合ハッシュも同様に変更されます。サーバサイドで生成されたハッシュとクライアントサイドで保持しているハッシュを比較することによって、ページが変更されたかどうか、また再送信するべきかどうかを決定します。
`ETag`
ヘッダの送信を有効にするには
[
[yii\filters\HttpCache::etagSeed
]
] プロパティを設定します。プロパティは ETag のハッシュを生成するためのシードを返す PHP の callable 型で、以下のようなシグネチャで構成していきます。
...
...
@@ -79,11 +79,11 @@ public function behaviors()
}
```
上記のコードは
`view`
アクションでのみ HTTP キャッシュを有効にしている状態です。リクエストされた投稿のタイトルとコンテン
ツに基づいて HTTP の
`Etag`
ヘッダを生成しています。ブラウザが初めて
`view`
ページにアクセスするときに、ページがサーバ上で生成されブラウザに送信されます。ブラウザが再度同じページにアクセスし、投稿のタイトルやコンテンツに変更がない場合には、サーバはページを再生成せず、ブラウザはクライアントサイトにキャッシュしたものを使用します。その結果、サーバサイドのレンダリング処理とページコンテンツ
送信の両方ともスキップされます。
上記のコードは
`view`
アクションでのみ HTTP キャッシュを有効にしている状態です。リクエストされた投稿のタイトルとコンテン
トに基づいて HTTP の
`Etag`
ヘッダを生成しています。ブラウザが初めて
`view`
ページにアクセスするときに、ページがサーバ上で生成されブラウザに送信されます。ブラウザが再度同じページにアクセスし、投稿のタイトルやコンテントに変更がない場合には、サーバはページを再生成せず、ブラウザはクライアントサイトにキャッシュしたものを使用します。その結果、サーバサイドのレンダリング処理とページコンテント
送信の両方ともスキップされます。
ETag は
`Last-Modified`
ヘッダよりも複雑かつ、より正確なキャッシング方式を可能にします。例えば、サイトが別のテーマに切り替わった場合には ETag を無効化する、といったことができます。
ETag はリクエスト毎に再評価する必要があるため、負荷の高いもの生成すると
`HttpCache`
の本来の目的を損なって不必要なオーバーヘッドが生じる場合があるので、ページのコンテン
ツ
が変更されたときにキャッシュを無効化するための式は単純なものを指定するようにして下さい。
ETag はリクエスト毎に再評価する必要があるため、負荷の高いもの生成すると
`HttpCache`
の本来の目的を損なって不必要なオーバーヘッドが生じる場合があるので、ページのコンテン
ト
が変更されたときにキャッシュを無効化するための式は単純なものを指定するようにして下さい。
> 注意: [RFC 7232](http://tools.ietf.org/html/rfc7232#section-2.4) に準拠して `Etag` と `Last-Modified` ヘッダの両方を設定した場合、`HttpCache` はその両方とも送信します。また、もし `If-None-Match` ヘッダと `If-Modified-Since` ヘッダの両方を送信した場合は前者のみが尊重されます。
...
...
docs/guide-ja/caching-page.md
View file @
8e725955
ページキャッシュ
============
ページキャッシュはサーバサイドでページ全体のコンテン
ツ
をキャッシュすることを言います。あとで、同じページに再度リクエストがあった場合、その内容を一から再び生成させるのではなく、キャッシュから提供するようにします。
ページキャッシュはサーバサイドでページ全体のコンテン
ト
をキャッシュすることを言います。あとで、同じページに再度リクエストがあった場合、その内容を一から再び生成させるのではなく、キャッシュから提供するようにします。
ページキャッシュは
[
[yii\filters\PageCache
]
]、
[
アクションフィルタ
](
structure-filters.md
)
によってサポートされています。これは、コントローラクラスで以下のように使用することができます:
...
...
@@ -25,8 +25,8 @@ public function behaviors()
}
```
上記のコードは、ページキャッシュが
`index`
アクションのみで使用され、そのページのコンテン
ツ
は最大 60 秒間キャッシュし、現在のアプリケーションの言語によって変化し、投稿の総数に変化があった場合キャッシュされたページが無効になる、ということを示しています。
上記のコードは、ページキャッシュが
`index`
アクションのみで使用され、そのページのコンテン
ト
は最大 60 秒間キャッシュし、現在のアプリケーションの言語によって変化し、投稿の総数に変化があった場合キャッシュされたページが無効になる、ということを示しています。
見てわかるように、ページキャッシュは
[
フラグメントキャッシュ
](
caching-fragment.md
)
ととてもよく似ています。それらは両方とも
`duration`
、
`dependencies`
、
`variations`
、そして
`enabled`
などのオプションをサポートしています。主な違いとしては、ページキャッシュは
[
アクションフィルタ
](
structure-filters.md
)
として、フラグメントキャッシュは
[
ウィジェット
](
structure-widgets.md
)
として実装されているということです。
また、ページキャッシュと一緒に
[
ダイナミックコンテン
ツ
](
caching-fragment.md#dynamic-content
)
だけでなく
[
フラグメントキャッシュ
](
caching-fragment.md
)
も使用することができます。
また、ページキャッシュと一緒に
[
ダイナミックコンテン
ト
](
caching-fragment.md#dynamic-content
)
だけでなく
[
フラグメントキャッシュ
](
caching-fragment.md
)
も使用することができます。
docs/guide-ja/intro-yii.md
View file @
8e725955
...
...
@@ -11,7 +11,7 @@ Yii は何に適しているか
Yii は汎用的なウェブプログラミングフレームワークです。
つまり、あらゆる種類のウェブアプリケーションを PHP を使って開発するときに、Yii を使用することが出来ます。
コンポーネントベースのアーキテクチャと洗練されたキャッシュサポートを持っているため、Yii は大規模なアプリケーション、たとえば、ポータル、フォーラム、コンテン
ツ
マネージメントシステム (CMS)、電子商取引プロジェクト、RESTful ウェブサービス、等々を開発するのに特に適しています。
コンポーネントベースのアーキテクチャと洗練されたキャッシュサポートを持っているため、Yii は大規模なアプリケーション、たとえば、ポータル、フォーラム、コンテン
ト
マネージメントシステム (CMS)、電子商取引プロジェクト、RESTful ウェブサービス、等々を開発するのに特に適しています。
Yii を他のフレームワークと比べると
...
...
docs/guide-ja/runtime-responses.md
View file @
8e725955
...
...
@@ -177,7 +177,7 @@ public function actionOld()
上記のコードでは、アクションメソッドが
`redirect()`
メソッドの結果を返しています。
前に説明したように、アクションメソッドによって返されるレスポンスオブジェクトが、エンドユーザに送信されるレスポンスとして使用されることになります。
アクションメソッド以外の場所では、
[
[yii\web\Response::redirect()
]
] を直接に呼び出し、メソッドチェーンで
[
[yii\web\Response::send()
]
] メソッドを呼んで、レスポンスに余計なコンテン
ツ
が追加されないことを保証すべきです。
アクションメソッド以外の場所では、
[
[yii\web\Response::redirect()
]
] を直接に呼び出し、メソッドチェーンで
[
[yii\web\Response::send()
]
] メソッドを呼んで、レスポンスに余計なコンテン
ト
が追加されないことを保証すべきです。
```
php
\Yii
::
$app
->
response
->
redirect
(
'http://example.com/new'
,
301
)
->
send
();
...
...
@@ -216,7 +216,7 @@ public function actionDownload()
}
```
ファイル送信メソッドをアクションメソッド以外の場所で呼ぶ場合は、その後で
[
[yii\web\Response::send()
]
] メソッドも呼んで、レスポンスに余計なコンテン
ツ
が追加されないことを保証すべきです。
ファイル送信メソッドをアクションメソッド以外の場所で呼ぶ場合は、その後で
[
[yii\web\Response::send()
]
] メソッドも呼んで、レスポンスに余計なコンテン
ト
が追加されないことを保証すべきです。
```
php
\Yii
::
$app
->
response
->
sendFile
(
'path/to/file.txt'
)
->
send
();
...
...
docs/guide-ja/structure-assets.md
View file @
8e725955
...
...
@@ -163,7 +163,7 @@ JavaScript ファイルをページの 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::sourcePath
]
] の一個または数個のサブディレクトリだけを発行するために、アセットバンドルクラスの中で下記のようにすることが出来ます。
...
...
docs/guide-ja/structure-extensions.md
View file @
8e725955
...
...
@@ -321,7 +321,7 @@ class MyBootstrapClass implements BootstrapInterface
#### 国際化と地域化 <span id="i18n-l10n"></span>
あなたのエクステンションは、さまざまな言語をサポートするアプリケーションによって使われるかもしれません。
従って、あなたのエクステンションがエンドユーザにコンテン
ツ
を表示するものである場合は、それを
[
国際化
](
tutorial-i18n.md
)
するように努めるべきです。
従って、あなたのエクステンションがエンドユーザにコンテン
ト
を表示するものである場合は、それを
[
国際化
](
tutorial-i18n.md
)
するように努めるべきです。
具体的には、
-
エクステンションがエンドユーザに向けたメッセージを表示する場合は、翻訳することが出来るようにメッセージを
`Yii::t()`
で包むべきです。
...
...
docs/guide-ja/structure-filters.md
View file @
8e725955
...
...
@@ -3,7 +3,7 @@
フィルタは、
[
コントローラアクション
](
structure-controllers.md#actions
)
の前 および/または 後に走るオブジェクトです。
例えば、アクセスコントロールフィルタはアクションの前に走って、アクションが特定のエンドユーザだけにアクセスを許可するものであることを保証します。
また、コンテン
ツ圧縮フィルタはアクションの後に走って、レスポンスのコンテンツ
をエンドユーザに送出する前に圧縮します。
また、コンテン
ト圧縮フィルタはアクションの後に走って、レスポンスのコンテント
をエンドユーザに送出する前に圧縮します。
フィルタは、前フィルタ (アクションの
*前*
に適用されるフィルタのロジック) および/または 後フィルタ (アクションの
*後*
に適用されるフィルタ) から構成されます。
...
...
docs/guide-ja/structure-widgets.md
View file @
8e725955
...
...
@@ -40,8 +40,8 @@ use yii\jui\DatePicker;
])
?>
```
ウィジェットの中には、コンテン
ツ
のブロックを受け取ることが出来るものもあります。
その場合、コンテン
ツ
のブロックは
[
[yii\base\Widget::begin()
]
] と
[
[yii\base\Widget::end()
]
] の呼び出しの間に包むようにしなければなりません。
ウィジェットの中には、コンテン
ト
のブロックを受け取ることが出来るものもあります。
その場合、コンテン
ト
のブロックは
[
[yii\base\Widget::begin()
]
] と
[
[yii\base\Widget::end()
]
] の呼び出しの間に包むようにしなければなりません。
例えば、次のコードは
[
[yii\widgets\ActiveForm
]
] ウィジェットを使ってログインフォームを生成するものです。
このウィジェットは、
`begin()`
と
`end()`
が呼ばれる場所で、それぞれ、開始と終了の
`<form>`
タグを生成します。
その間に置かれたものは全てそのままレンダリングされます。
...
...
@@ -66,7 +66,7 @@ use yii\helpers\Html;
```
[
[yii\base\Widget::widget()
]
] がウィジェットのレンダリング結果を返すのとは違って、
[
[yii\base\Widget::begin()
]
] メソッドがウィジェットのインスタンスを返すことに注意してください。
返されたウィジェットのインスタンスを使って、ウィジェットのコンテン
ツ
を構築することが出来ます。
返されたウィジェットのインスタンスを使って、ウィジェットのコンテン
ト
を構築することが出来ます。
## ウィジェットを作成する <span id="creating-widgets"></span>
...
...
@@ -75,7 +75,7 @@ use yii\helpers\Html;
通常、
`init()`
メソッドはウィジェットのプロパティを正規化するコードを含むべきものであり、
`run()`
メソッドはウィジェットのレンダリング結果を生成するコードを含むべきものです。
レンダリング結果は、直接に "echo" しても、
`run()`
の返り値として文字列として返しても構いません。
次の例では、
`HelloWidget`
が
`message`
プロパティとして割り当てられたコンテン
ツ
を HTML エンコードして表示します。
次の例では、
`HelloWidget`
が
`message`
プロパティとして割り当てられたコンテン
ト
を HTML エンコードして表示します。
プロパティがセットされていない場合は、デフォルトとして "Hello World" を表示します。
```
php
...
...
@@ -112,7 +112,7 @@ use app\components\HelloWidget;
<?=
HelloWidget
::
widget
([
'message'
=>
'おはよう'
])
?>
```
下記は
`HelloWidget`
の変種で、
`begin()`
と
`end()`
の間に包まれたコンテン
ツ
を受け取り、それを HTML エンコードして表示するものです。
下記は
`HelloWidget`
の変種で、
`begin()`
と
`end()`
の間に包まれたコンテン
ト
を受け取り、それを HTML エンコードして表示するものです。
```
php
namespace
app\components
;
...
...
@@ -149,13 +149,13 @@ use app\components\HelloWidget;
?>
<?php
HelloWidget
::
begin
();
?>
... タグを含みうるコンテン
ツ
...
... タグを含みうるコンテン
ト
...
<?php
HelloWidget
::
end
();
?>
```
場合によっては、ウィジェットが大きな固まりのコンテン
ツ
を表示する必要があるかもしれません。
コンテン
ツを
`run()`
メソッドの中に埋め込むことも出来ますが、より良い方法は、コンテンツ
を
[
ビュー
](
structure-views.md
)
場合によっては、ウィジェットが大きな固まりのコンテン
ト
を表示する必要があるかもしれません。
コンテン
トを
`run()`
メソッドの中に埋め込むことも出来ますが、より良い方法は、コンテント
を
[
ビュー
](
structure-views.md
)
の中に置いて、
[
[yii\base\Widget::render()
]
] を呼んでレンダリングすることです。
例えば、
...
...
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