Ground Sunlight

Windowsで作る - PHPプログラミングの開発環境

ユーザ用ツール

サイト用ツール


psr:psr6

差分

このページの2つのバージョン間の差分を表示します。

この比較画面にリンクする

両方とも前のリビジョン 前のリビジョン
次のリビジョン
前のリビジョン
psr:psr6 [2020/05/20 16:47]
y2sunlight [CacheItemInterface]
psr:psr6 [2020/09/01 11:52] (現在)
tanaka [PSR-6: Caching Interface]
行 1: 行 1:
-> 編集中 
- 
 ====== PSR-6: Caching Interface ====== ====== PSR-6: Caching Interface ======
  
  --- //[[http://www.y2sunlight.com|y2sunlight]] 2020-05-19//  --- //[[http://www.y2sunlight.com|y2sunlight]] 2020-05-19//
  
-本章は、若干の補足を加筆してはいるものの単に[[https://www.php-fig.org/psr/|PSRのサイト]]を翻訳したものに過ぎません。英語が堪能な方は原文をご参照下さい。翻訳に当たっては、基本的に機械翻訳を使い、理解できない部分は独断で意訳しております。拙い訳では御座いますが恥を忍んで投稿しておりますので、ご指摘など御座いましたらコメントを頂ければ幸いです。+本章は、若干の補足を加筆してはいるものの単に[[https://www.php-fig.org/psr/|PSRのサイト]]を日本語に翻訳したものに過ぎません。英語が堪能な方は原文をご参照下さい。翻訳に当たっては、基本的に機械翻訳を使い、理解できない部分は独断で意訳しております。拙い訳では御座いますが恥を忍んで投稿しておりますので、ご指摘など御座いましたらコメントを頂ければ幸いです。 
 + 
 +関連記事
  
-==== 目次 ==== +  * [[psr:top|PSR - PHP標準勧告]]
-  * [[psr:top|PHP - PHP標準勧告]]+
   * [[psr:psr1|PSR-1: Basic Coding Standard - 基本コーディング規約]]   * [[psr:psr1|PSR-1: Basic Coding Standard - 基本コーディング規約]]
   * [[psr:psr3|PSR-3: Logger Interface - ロガーインターフェイス]]   * [[psr:psr3|PSR-3: Logger Interface - ロガーインターフェイス]]
行 14: 行 13:
   * [[psr:psr5|PSR-5: PHPDoc Standard(Draft) - PHPDoc規約]]   * [[psr:psr5|PSR-5: PHPDoc Standard(Draft) - PHPDoc規約]]
   * PSR-6: Caching Interface - キャッシングインターフェイス   * PSR-6: Caching Interface - キャッシングインターフェイス
 +  * [[psr:psr7|PSR-7: HTTP Message Interface - HTTPメッセージインターフェイス]] 
 +  * [[psr:psr11|PSR-11: Container Interface - コンテナインターフェイス]] 
 +  * [[psr:psr12|PSR-12: Extended Coding Style - 拡張コーディングスタイル]] 
 +  * [[psr:psr13|PSR-13: Link definition interfaces - リンク定義インターフェース]]
 +  * [[psr:psr14|PSR-14: Event Dispatcher - イベントディスパッチャー]] 
 +  * [[psr:psr15|PSR-15: HTTP Server Request Handlers - HTTPサーバーリクエストハンドラー]] 
 +  * [[psr:psr16|PSR-16: Common Interface for Caching Libraries - キャッシングライブラリのための共通インターフェース]] 
 +  * [[psr:psr17|PSR-17: HTTP Factories - HTTPファクトリー]] 
 +  * [[psr:psr18|PSR-18: HTTP Client - HTTPクライアント]] 
 +  * [[psr:psr19|PSR-19: PHPDoc tags(Draft) - PHPDocタグ]] 
  
 ----- -----
行 47: 行 56:
  
   * **Calling Library** -- 実際にキャッシュサービスを必要とするライブラリまたはコード。このライブラリは、本規約のインターフェースを実装するキャッシングサービスを利用しますが、その他のキャッシングサービスの実装に関する知識は必要ありません。\\ \\    * **Calling Library** -- 実際にキャッシュサービスを必要とするライブラリまたはコード。このライブラリは、本規約のインターフェースを実装するキャッシングサービスを利用しますが、その他のキャッシングサービスの実装に関する知識は必要ありません。\\ \\ 
-  * **Implementing Library** -- **Calling Library** にキャッシングサービスを提供するために、このライブラリは本規約を実装する責任があります。**Implementing Library** は、**Cache\CacheItemPoolInterface** および **Cache\CacheItemInterface** インターフェースを実装するクラスを提供する必要があります (''MUST'')。**Implementing Libraries** では、1秒単位で 以下に説明するように、最小限のTTL (Time To Live) 機能をサポートする必要があります (''MUST'')。\\ \\  +  * **Implementing Library** -- Calling Library にキャッシングサービスを提供するために、このライブラリは本規約を実装する責任があります。Implementing Library は、Cache\CacheItemPoolInterface および Cache\CacheItemInterface インターフェースを実装するクラスを提供する必要があります (''MUST'')。Implementing Libraries では、1秒単位で 以下に説明するように、最小限のTTL (Time To Live) 機能をサポートする必要があります (''MUST'')。\\ \\  
-  * **TTL** -- アイテムの残存期間(TTL:Time To Live)は、そのアイテムが保存されてから古くなったと見なされるまでの時間のことです。**TTL** は通常、秒単位の時間を表す整数、または **DateInterval** オブジェクトによって定義されます。\\ \\  +  * **TTL** -- アイテムの残存期間(TTL:Time To Live)は、そのアイテムが保存されてから古くなったと見なされるまでの時間のことです。TTL は通常、秒単位の時間を表す整数、または DateInterval オブジェクトによって定義されます。\\ \\  
-  * **有効期限** -- アイテムが古くなったと設定される実際の時間。これは通常、オブジェクトが格納された時刻に **TTL** を追加することで計算されますが、**DateTime** オブジェクトで明示的に設定することもできます。 300秒の **TTL** を持つアイテムが 1:30:00 に保存された時、その有効期限は 1:35:00 です。 **Implementing Libraries** は、要求された有効期限の前にアイテムを期限切れにすることができます (''MAY'')。ただし、有効期限に達したら、アイテムは期限切れとして扱う必要があります (''MUST'')。 **Calling Library** はアイテムの保存を要求しますが、有効期限を指定しない場合、または有効期限または **TTL** を **null** に指定した場合、**Implementing Library** は、構成されたデフォルトの期間を使用してもかまいません (''MAY'')。 デフォルトの期間が設定されていない場合、**Implementing Library** は、それを、アイテムを永久に(または基本となる実装がサポートしている限りの間)キャッシュする要求として、それを解釈する必要があります (''MUST'')。\\ \\  +  * **有効期限** -- アイテムが古くなったと設定される実際の時間。これは通常、オブジェクトが格納された時刻に TTL を加算することで計算されますが、DateTime オブジェクトで明示的に設定することもできます。 300秒の TTL を持つアイテムが 1:30:00 に保存された時、その有効期限は 1:35:00 です。Implementing Library は、要求された有効期限の前にアイテムを期限切れにすることができます (''MAY'')。ただし、有効期限に達したら、アイテムは期限切れとして扱う必要があります (''MUST'')。Calling Library はアイテムの保存を要求しますが、有効期限を指定しない場合、または有効期限または TTL を null に指定した場合、Implementing Library は、構成されたデフォルトの期間を使用してもかまいません (''MAY'')。 デフォルトの期間が設定されていない場合、Implementing Library は、それを、アイテムを永久に(または基本となる実装がサポートしている限りの間)キャッシュする要求として、それを解釈する必要があります (''MUST'')。\\ \\  
-  * **キー** -- キャッシュされたアイテムを一意に識別する少なくとも1つの文字の文字列。**Implementing Libraries** は UTF-8 エンコードで最大 64 文字の長さで任意の順序の文字、''A 〜 Z''、''a 〜 z''、''0 〜 9''、アンダースコア(''_'')、およびピリオド(''.'') の文字で構成されるキーをサポートする必要があります (''MUST'')。**Implementing Libraries** は、追加の文字とエンコーディング または より長い文字長をサポートする場合がありますが (''MAY'')、少なくともその最小値をサポートしなければなりません。ライブラリは、必要に応じてキー文字列の独自のエスケープに責任がありますが、変更されていない元のキー文字列を返すことができる必要があります (''MUST'')。 次の文字は、将来の拡張のために予約されており、**Implementing Libraries** によってサポートしてはなりません (''MUST NOT''):''{}()/\@:'' \\ \\  +  * **キー** -- キャッシュされたアイテムを一意に識別する少なくとも1つの文字の文字列。Implementing Library は UTF-8 エンコードで最大 64 文字の長さで任意の順序の文字、''A 〜 Z''、''a 〜 z''、''0 〜 9''、アンダースコア(''_'')、およびピリオド(''.'') の文字で構成されるキーをサポートする必要があります (''MUST'')。Implementing Library は、追加の文字とエンコーディング または より長い文字長をサポートする場合がありますが (''MAY'')、少なくともその最小値をサポートしなければなりません。ライブラリは、必要に応じてキー文字列の独自のエスケープに責任がありますが、変更されていない元のキー文字列を返すことができる必要があります (''MUST'')。 次の文字は、将来の拡張のために予約されており、Implementing Library によってサポートしてはなりません (''MUST NOT''):''{}()/\@:'' \\ \\  
-  * **ヒット** -- キャッシュヒットは、**Calling Library** がキーでアイテムを要求し、そのキーに一致する値が見つかり、その値が期限切れになっておらず、そして他の理由で値が無効でない場合に発生します。**Calling Libraries** は、すべての **get()** 呼び出しで**isHit()** による確認をすべきです (''SHOULD'')。\\ \\  +  * **ヒット** -- キャッシュヒットは、Calling Library がキーでアイテムを要求し、そのキーに一致する値が見つかり、その値が期限切れになっておらず、そして他の理由で値が無効でない場合に発生します。Calling Library は、すべての get() 呼び出しで isHit() による確認をすべきです (''SHOULD'')。\\ \\  
-  * **ミス** -- キャッシュミスは、キャッシュヒットの反対です。キャッシュミスは、**Calling Library** がキーでアイテムを要求し、そのキーの値が見つからない場合、値が見つかったが有効期限が切れている場合、またはその他の理由で値が無効な場合に発生します。 期限切れの値は、常にキャッシュミスと見なされる必要があります (''MUST'')。\\ \\  +  * **ミス** -- キャッシュミスは、キャッシュヒットの反対です。キャッシュミスは、Calling Library がキーでアイテムを要求し、そのキーの値が見つからない場合、値が見つかったが有効期限が切れている場合、またはその他の理由で値が無効な場合に発生します。 期限切れの値は、常にキャッシュミスと見なされる必要があります (''MUST'')。\\ \\  
-  * **遅延** -- 遅延キャッシュ保存は、キャッシュアイテムがプールによってすぐには保存されない可能性があることを示します。いくつかのストレージエンジンでサポートされている一括設定操作を利用するために、プールオブジェクトは遅延キャッシュアイテムの永続化を遅延させる場合があります (''MAY'')。プールは、遅延キャッシュアイテムが最終的に永続化され、データが失われないことを確認する必要があります (''MUST'')。また、**Calling Library** が永続化を要求する前にそれらを永続化できます (''MAY'')。**Calling Library** が **commit()** メソッドを呼び出す場合、すべての未処理の遅延アイテムを永続化する必要があります (''MUST'')。 **Implementing Library** は、遅延アイテムを永続化するタイミングを決定するために適切なロジックを使用できます (**MAY**)。 それは、オブジェクトデストラクタ、**save()** または タイムアウト または 最大アイテムスチェック時の全ての永続化、その他の適切なロジックです。遅延されているキャッシュアイテムに対する要求は、遅延されまだ永続化されていないアイテムを返す必要があります (MUST)。+  * **遅延** -- 遅延キャッシュ保存は、キャッシュアイテムがプールによってすぐには保存されない可能性があることを示します。いくつかのストレージエンジンでサポートされている一括設定操作を利用するために、プールオブジェクトは遅延キャッシュアイテムの永続化を遅延させる場合があります (''MAY'')。プールは、遅延キャッシュアイテムが最終的に永続化され、データが失われないことを確認する必要があります (''MUST'')。また、Calling Library が永続化を要求する前にそれらを永続化できます (''MAY'')。Calling Library が commit() メソッドを呼び出す場合、すべての未処理の遅延アイテムを永続化する必要があります (''MUST'')。Implementing Library は、遅延アイテムを永続化するタイミングを決定するために適切なロジックを使用できます (''MAY'')。 それは、オブジェクトデストラクタ、save() または タイムアウト または 最大アイテムスチェック時の全ての永続化、その他の適切なロジックです。遅延されているキャッシュアイテムに対する要求は、遅延されまだ永続化されていないアイテムを返す必要があります (''MUST'')。
  
 \\ \\
行 61: 行 70:
 ===== データ ===== ===== データ =====
  
-**Implementing library** の実装は、以下を含むすべてのシリアライズ可能なPHPデータ型をサポートする必要があります (''MUST'')。+Implementing library の実装は、以下を含むすべてのシリアライズ可能なPHPデータ型をサポートする必要があります (''MUST'')。
  
   * **Strings** -- PHP互換エンコーディングの任意のサイズの文字列\\ \\    * **Strings** -- PHP互換エンコーディングの任意のサイズの文字列\\ \\ 
行 69: 行 78:
   * **Null** -- 実際のnull値\\ \\    * **Null** -- 実際のnull値\\ \\ 
   * **Arrays** -- 添字配列、連想配列 および 任意の深さの多次元配列\\ \\    * **Arrays** -- 添字配列、連想配列 および 任意の深さの多次元配列\\ \\ 
-  * **Object** -- ''$o == unserialize(serialize($o))'' のような、無損失性のシリアライゼーションとデシリアライゼーションをサポートするオブジェクト。オブジェクトは、PHPの **Serializable** インターフェース、''<nowiki>__</nowiki>sleep()'' または''<nowiki>__</nowiki>wakeup()'' マジックメソッド、または必要に応じて同様の言語機能を活用する場合があります(''MAY'')+  * **Object** -- ''$o == unserialize(serialize($o))'' のような、無損失性のシリアライゼーションとデシリアライゼーションをサポートするオブジェクト。オブジェクトは、PHPの Serializable インターフェース、''<nowiki>__</nowiki>sleep()'' または''<nowiki>__</nowiki>wakeup()'' マジックメソッド、または必要に応じて同様の言語機能を活用する場合があります(''MAY'')
  
  
-**Implementing Library** に渡されるすべてのデータは、渡されたとおりに返される必要があります (''MUST'')。それには変数の型も含まれます。つまり、''(int)5'' が保存された値である場合、''(string)5'' を返すのはエラーです。ライブラリの実装では、PHPの**serialize()** / **unserialize()** 関数を内部で使用できますが (''MAY'')、必須ではありません。それらとの互換性は、許容可能なオブジェクト値のベースラインとして単に使用されます。+Implementing Library に渡されるすべてのデータは、渡されたとおりに返される必要があります (''MUST'')。それには変数の型も含まれます。つまり、(int)5 が保存された値である場合、(string)5 を返すのはエラーです。ライブラリの実装では、PHPの''serialize()'' / ''unserialize()'' 関数を内部で使用できますが (''MAY'')、必須ではありません。それらとの互換性は、許すことができるオブジェクト値の基準として単に使用されます。
  
->''上記の原文'' \\ Compatibility with them is simply used as a baseline for acceptable object values. \\ \\ --- 曖昧な翻訳 ---\\ 上記文章の最後のセンテンスの意味が不明 +なんらかの理由で正確に保存された値を返すことができない場合、Implementing library は、破損したデータではなくキャッシュミスで応答する必要があります (''MUST'')。
- +
-なんらかの理由で正確に保存された値を返すことができない場合、**Implementing library** は、破損したデータではなくキャッシュミスで応答する必要があります (''MUST'')。+
  
 \\ \\
行 96: 行 103:
 ===== エラー処理 ===== ===== エラー処理 =====
  
-キャッシングは多くの場合、アプリケーションのパフォーマンスの重要なパーツですが、アプリケーション機能の不可欠なパーツであってはなりません。従って、キャッシュシステムでエラーが発生しても、アプリケーション障害にするべきではありません (''SHOULD NOT'')。 そのため、**Implementing Library** は、インターフェースで定義されたもの以外の例外をスローしてはならず (''MUST NOT'')、基礎となるデータストアによってトリガーされたエラーまたは例外をトラップしてバブルにしないようにすべきです (''SHOULD'')。+キャッシングは多くの場合、アプリケーションのパフォーマンスの重要なパーツですが、アプリケーション機能の不可欠なパーツであってはなりません。従って、キャッシュシステムでエラーが発生しても、アプリケーション障害にするべきではありません (''SHOULD NOT'')。 そのため、Implementing Library は、インターフェースで定義されたもの以外の例外をスローしてはならず (''MUST NOT'')、基礎となるデータストアによってトリガーされたエラーまたは例外をトラップしてバブルにしないようにすべきです (''SHOULD'')。
  
-**Implementing Library** は、そのようなエラーをログに記録するか、必要に応じて管理者に報告するべきです (''SHOULD'')。+Implementing Library は、そのようなエラーをログに記録するか、必要に応じて管理者に報告するべきです (''SHOULD'')。
  
-**Calling Library** が1つ以上のアイテムの削除、またはプールのクリアを要求する場合、指定されたキーが存在しない場合、エラー状態と見なしてはなりません (''MUST NOT'')。事後状態は同じ(キーが存在しないか、プールが空)なのでエラー状態ではありません。+Calling Library が1つ以上のアイテムの削除、またはプールのクリアを要求する場合、指定されたキーが存在しない場合、エラー状態と見なしてはなりません (''MUST NOT'')。事後状態は同じ(キーが存在しないか、プールが空)なのでエラー状態ではありません。
  
 \\ \\
行 108: 行 115:
 ==== CacheItemInterface ==== ==== CacheItemInterface ====
  
-**CacheItemInterface** は、キャッシュシステム内のアイテムを定義します。各Itemオブジェクトは特定のキーに関連付けられている必要があります。これは実装システムに従って設定でき、通常は **Cache\CacheItemPoolInterface** オブジェクトによって渡されます。+CacheItemInterface は、キャッシュシステム内のアイテムを定義します。各アイテムオブジェクトは特定のキーに関連付けられている必要があります。これは実装システムに従って設定でき、通常は ''Cache\CacheItemPoolInterface'' オブジェクトによって渡されます。
  
-**Cache\CacheItemInterface** オブジェクトは、キャッシュアイテムの入出庫をカプセル化します。 個々の **Cache\CacheItemInterface** は **Cache\CacheItemPoolInterface** オブジェクトによって生成されます。このオブジェクトは、必要な設定に責任を負い、オブジェクトを一意のキーに関連付けます。 ''Cache\CacheItemInterface'' オブジェクトは、本ドキュメントのデータセクションで定義されている任意のタイプのPHP値を保存と取得できる必要があります (''MUST'')。+''Cache\CacheItemInterface'' オブジェクトは、キャッシュアイテムの入出庫をカプセル化します。 個々の ''Cache\CacheItemInterface'' は ''Cache\CacheItemPoolInterface'' オブジェクトによって生成されます。このオブジェクトは、必要な設定に責任を負い、オブジェクトを一意のキーに関連付けます。 ''Cache\CacheItemInterface'' オブジェクトは、本ドキュメントのデータセクションで定義されている任意のタイプのPHP値を保存と取得できる必要があります (''MUST'')。
  
-**Calling Library** は、アイテムオブジェクト自体をインスタンス化してはなりません (''MUST NOT'')。それらは、**getItem()** メソッドを介してプールオブジェクトからのみ要求できます。**Calling Library** は、ある **Implementing Library** によって作成されたアイテムが別の **Implementing Library** のプール と互換性があるとは想定しないでください (''SHOULD NOT'')。+Calling Library は、アイテムオブジェクト自体をインスタンス化してはなりません (''MUST NOT'')。それらは、''getItem()'' メソッドを介してプールオブジェクトからのみ要求できます。Calling Library は、ある Implementing Library によって作成されたアイテムが別の Implementing Library のプール と互換性があるとは想定しないでください (''SHOULD NOT'')。
  
 ^メソッド^要約^ ^メソッド^要約^
行 258: 行 265:
 ==== CacheItemPoolInterface ==== ==== CacheItemPoolInterface ====
  
-**Cache\CacheItemPoolInterface** の主な目的は、''Calling Library'' からキーを受け取り、関連付けられた**Cache\CacheItemInterface** オブジェクトを返すことです。また、キャッシュコレクション全体との相互作用も主要なポイントです。プールのすべての構成と初期化は、**Implementing Library** に任されています。+Cache\CacheItemPoolInterface の主な目的は、Calling Library からキーを受け取り、関連付けられた Cache\CacheItemInterface オブジェクトを返すことです。また、キャッシュコレクション全体との相互作用も主要なポイントです。プールのすべての構成と初期化は、Implementing Library に任されています。 
 + 
 +^メソッド^要約^ 
 +|getItem($key)|指定されたキーを表すキャッシュアイテムを返します。| 
 +|getItems(array $keys = array())|走査可能(Traversable)なキャッシュアイテムのセットを返します。| 
 +|hasItem($key)|キャッシュに指定されたキャッシュアイテムが含まれているかどうかを確認します。| 
 +|clear()|プール内のすべてのアイテムを削除します。| 
 +|deleteItem($key)|プールからアイテムを削除します。| 
 +|deleteItems(array $keys)|プールから複数のアイテムを削除します。| 
 +|save(CacheItemInterface $item)|キャッシュアイテムをすぐに永続化します。| 
 +|saveDeferred(CacheItemInterface $item)|キャッシュアイテムを後で永続化するように設定します| 
 +|commit()|延期されたキャッシュアイテムを永続化します|
  
 <code php> <code php>
行 277: 行 295:
      * This method must always return a CacheItemInterface object, even in case of      * This method must always return a CacheItemInterface object, even in case of
      * a cache miss. It MUST NOT return null.      * a cache miss. It MUST NOT return null.
 +     * 
      * このメソッドは、キャッシュミスの場合でも、常にCacheItemInterfaceオブジェクトを      * このメソッドは、キャッシュミスの場合でも、常にCacheItemInterfaceオブジェクトを
-     * 返す必要があります。 nullを返してはなりません。+     * 返す必要があります。nullを返してはなりません。
      *      *
      * @param string $key      * @param string $key
      *   The key for which to return the corresponding Cache Item.      *   The key for which to return the corresponding Cache Item.
-     *   対応するキャッシュアイテムを返すキー。+     *   対応するキャッシュアイテムを返すべきキー。
      *      *
      * @throws InvalidArgumentException      * @throws InvalidArgumentException
      *   If the $key string is not a legal value a \Psr\Cache\InvalidArgumentException      *   If the $key string is not a legal value a \Psr\Cache\InvalidArgumentException
      *   MUST be thrown.      *   MUST be thrown.
 +     * 
      *   $key文字列が有効な値でない場合は、\Psr\Cache\InvalidArgumentExceptionを      *   $key文字列が有効な値でない場合は、\Psr\Cache\InvalidArgumentExceptionを
      *   スローする必要があります。      *   スローする必要があります。
行 298: 行 318:
     /**     /**
      * Returns a traversable set of cache items.      * Returns a traversable set of cache items.
-     * 通過可能なキャッシュアイテムのセットを返します。+     * 走査可能(Traversable)なキャッシュアイテムのセットを返します。
      *      *
      * @param string[] $keys      * @param string[] $keys
      *   An indexed array of keys of items to retrieve.      *   An indexed array of keys of items to retrieve.
-     *   取得するアイテムのキーのインデックス付き配列。+     *   取得するアイテムのキーの添字配列。
      *      *
      * @throws InvalidArgumentException      * @throws InvalidArgumentException
      *   If any of the keys in $keys are not a legal value a \Psr\Cache\InvalidArgumentException      *   If any of the keys in $keys are not a legal value a \Psr\Cache\InvalidArgumentException
      *   MUST be thrown.      *   MUST be thrown.
 +     * 
      *   $keysのいずれかのキーが有効な値ではない場合、\Psr\Cache\InvalidArgumentExceptionを      *   $keysのいずれかのキーが有効な値ではない場合、\Psr\Cache\InvalidArgumentExceptionを
      *   スローする必要があります。      *   スローする必要があります。
行 315: 行 336:
      *   key is not found. However, if no keys are specified then an empty      *   key is not found. However, if no keys are specified then an empty
      *   traversable MUST be returned instead.      *   traversable MUST be returned instead.
-     *   各アイテムのキャッシュキーによってキー設定された、キャッシュアイテムの通過可能なコレクション。 +     *  
-     *   キャッシュアイテムは、そのキーが見つからない場合でも、キーごとに返されます。 +     *   各アイテムのキャッシュキーによってキー設定された、キャッシュアイテムの走査可能なコレクション。 
 +     *   各キーごとに、そのキーが見つからない場合でも、キャッシュアイテムは返されます。 
      *   ただし、キーが指定されていない場合は、代わりに空の走査可能オブジェクトを返す必要があります。      *   ただし、キーが指定されていない場合は、代わりに空の走査可能オブジェクトを返す必要があります。
      */      */
行 328: 行 350:
      * This could result in a race condition with CacheItemInterface::get(). To avoid      * This could result in a race condition with CacheItemInterface::get(). To avoid
      * such situation use CacheItemInterface::isHit() instead.      * such situation use CacheItemInterface::isHit() instead.
 +     * 
      * 注:このメソッドは、パフォーマンス上の理由から、キャッシュされた値の取得を回避する      * 注:このメソッドは、パフォーマンス上の理由から、キャッシュされた値の取得を回避する
      * 場合があります。これにより、CacheItemInterface::get()で競合状態が発生する可能性があります。       * 場合があります。これにより、CacheItemInterface::get()で競合状態が発生する可能性があります。 
-     * このような状況を回避するには、代わりにCacheItemInterface::isHit()を使用します。+     * このような状況を回避するには、代わりに CacheItemInterface::isHit() を使用します。
      *      *
      * @param string $key      * @param string $key
行 339: 行 362:
      *   If the $key string is not a legal value a \Psr\Cache\InvalidArgumentException      *   If the $key string is not a legal value a \Psr\Cache\InvalidArgumentException
      *   MUST be thrown.      *   MUST be thrown.
 +     * 
      *   $key文字列が有効な値でない場合は、\Psr\Cache\InvalidArgumentExceptionを      *   $key文字列が有効な値でない場合は、\Psr\Cache\InvalidArgumentExceptionを
      *   スローする必要があります。      *   スローする必要があります。
行 354: 行 378:
      * @return bool      * @return bool
      *   True if the pool was successfully cleared. False if there was an error.      *   True if the pool was successfully cleared. False if there was an error.
-     *   プールが正常にクリアされた場合はtrue。 エラーがあった場合はFalse。+     *   プールが正常にクリアされた場合はtrue。エラーがあった場合はFalse。
      */      */
     public function clear();     public function clear();
行 362: 行 386:
      * プールからアイテムを削除します      * プールからアイテムを削除します
      *      *
-  
- 
      * @param string $key      * @param string $key
      *   The key to delete.      *   The key to delete.
行 371: 行 393:
      *   If the $key string is not a legal value a \Psr\Cache\InvalidArgumentException      *   If the $key string is not a legal value a \Psr\Cache\InvalidArgumentException
      *   MUST be thrown.      *   MUST be thrown.
 +     * 
      *   $key文字列が有効な値でない場合は、\Psr\Cache\InvalidArgumentExceptionを      *   $key文字列が有効な値でない場合は、\Psr\Cache\InvalidArgumentExceptionを
      *   スローする必要があります。      *   スローする必要があります。
行 376: 行 399:
      * @return bool      * @return bool
      *   True if the item was successfully removed. False if there was an error.      *   True if the item was successfully removed. False if there was an error.
-     *   アイテムが正常に削除された場合はtrue。 エラーがあった場合はFalse。+     *   アイテムが正常に削除された場合はtrue。エラーがあった場合はFalse。
      */      */
     public function deleteItem($key);     public function deleteItem($key);
行 391: 行 414:
      *   If any of the keys in $keys are not a legal value a \Psr\Cache\InvalidArgumentException      *   If any of the keys in $keys are not a legal value a \Psr\Cache\InvalidArgumentException
      *   MUST be thrown.      *   MUST be thrown.
-     *   $keysのいずれかのキーが有効な値ではない場合、\Psr\Cache\InvalidArgumentExceptionを+     *  
 +     *   $keysのいずれかのキーが有効な値ではない場合、\Psr\Cache\InvalidArgumentException を
      *   スローする必要があります。      *   スローする必要があります。
      *      *
行 402: 行 426:
     /**     /**
      * Persists a cache item immediately.      * Persists a cache item immediately.
-     * キャッシュアイテムをすぐに保持します+     * キャッシュアイテムをすぐに永続化します
      *      *
      * @param CacheItemInterface $item      * @param CacheItemInterface $item
行 410: 行 434:
      * @return bool      * @return bool
      *   True if the item was successfully persisted. False if there was an error.      *   True if the item was successfully persisted. False if there was an error.
-     *   アイテムが正常に保持された場合はTrue。 エラーがあった場合はFalse。+     *   アイテムが正常に保持された場合はTrue。エラーがあった場合はFalse。
      */      */
     public function save(CacheItemInterface $item);     public function save(CacheItemInterface $item);
行 422: 行 446:
      *   保存するキャッシュアイテム      *   保存するキャッシュアイテム
      *      *
-  
- 
      * @return bool      * @return bool
      *   False if the item could not be queued or if a commit was attempted and failed. True otherwise.      *   False if the item could not be queued or if a commit was attempted and failed. True otherwise.
 +     * 
      *   アイテムをキューに入れることができなかった場合、またはコミットが試行されて      *   アイテムをキューに入れることができなかった場合、またはコミットが試行されて
-     *   失敗した場合はfalse。 そうでなければ真+     *   失敗した場合はfalse。そうでなければ真
      */      */
     public function saveDeferred(CacheItemInterface $item);     public function saveDeferred(CacheItemInterface $item);
行 433: 行 456:
     /**     /**
      * Persists any deferred cache items.      * Persists any deferred cache items.
-     * 延期されたキャッシュ項目を保持します+     * 遅延されたキャッシュアイテムを永続化します
      *      *
      * @return bool      * @return bool
      *   True if all not-yet-saved items were successfully saved or there were none. False otherwise.      *   True if all not-yet-saved items were successfully saved or there were none. False otherwise.
 +     * 
      *   まだ保存されていないすべてのアイテムが正常に保存されたか、何もなかった場合はTrue。       *   まだ保存されていないすべてのアイテムが正常に保存されたか、何もなかった場合はTrue。 
      *   それ以外の場合はfalse。      *   それ以外の場合はfalse。
行 447: 行 471:
  
 ==== CacheException ==== ==== CacheException ====
-This exception interface is intended for use when critical errors occur, including but not limited to cache setup such as connecting to a cache server or invalid credentials supplied. 
  
-この例外インターフェイスは、キャッシュサーバーへの接続や提供された無効な資格情報などのキャッシュセットアップを含むがこれらに限定されない重大なエラーが発生した場合に使用することを目的としています。+この例外インターフェイスは、重大なエラーが発生した場合に使用することを目的としています。これらのエラーには、キャッシュサーバーへの接続や提供された無効な資格情報などのキャッシュセットアップを含みますが、これらに限定されません。
  
-Any exception thrown by an Implementing Library MUST implement this interface. +Implementing Library によってスローされるすべての例外は、このインターフェイスを実装する必要があります (''MUST'')。
- +
-実装ライブラリによってスローされたすべての例外は、このインターフェイスを実装する必要があります。+
  
 <code php> <code php>
行 462: 行 483:
 /** /**
  * Exception interface for all exceptions thrown by an Implementing Library.  * Exception interface for all exceptions thrown by an Implementing Library.
- * 実装ライブラリによってスローされたすべての例外の例外インターフェース+ * Implementing Library によってスローされたすべての例外の Exception インターフェース
  */  */
 interface CacheException interface CacheException
行 483: 行 504:
  * Any time an invalid argument is passed into a method it must throw an  * Any time an invalid argument is passed into a method it must throw an
  * exception class which implements Psr\Cache\InvalidArgumentException.  * exception class which implements Psr\Cache\InvalidArgumentException.
- * 無効な引数がメソッドに渡されるたびに、Psr\Cache\InvalidArgumentExceptionを実装する例外クラスを+ * 
 + * 無効な引数がメソッドに渡されるたびに、Psr\Cache\InvalidArgumentException を実装する例外クラスを
  * スローする必要があります。  * スローする必要があります。
  */  */
psr/psr6.1589960865.txt.gz · 最終更新: 2020/05/20 16:47 by y2sunlight