Ground Sunlight

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

ユーザ用ツール

サイト用ツール


psr:psr16

差分

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

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

両方とも前のリビジョン 前のリビジョン
次のリビジョン
前のリビジョン
次のリビジョン 両方とも次のリビジョン
psr:psr16 [2020/08/04 19:59]
y2sunlight [1.2 定義]
psr:psr16 [2020/08/04 20:21]
y2sunlight [1.4 データ]
行 62: 行 62:
   * **有効期限** -- アイテムが古くなったとに設定された実際の時間。 これは、オブジェクトが格納された時刻にTTLを加算することで計算されます。\\ \\ 300秒の TTL を持つアイテムが 1:30:00 に保存された時、その有効期限は 1:35:00 です。\\ \\ Implementing Library は、要求された有効期限の前にアイテムを期限切れにすることができます ( ''MAY'' )。ただし、有効期限に達したら、アイテムは期限切れとして扱う必要があります ( ''MUST'' )。Calling Library はアイテムの保存を要求しますが、有効期限を指定しない場合、または有効期限または TTL を null に指定した場合、Implementing Library は、構成されたデフォルトの期間を使用してもかまいません ( ''MAY'' )。 デフォルトの期間が設定されていない場合、Implementing Library は、それを、アイテムを永久に(または基本となる実装がサポートしている限りの間)キャッシュする要求として、それを解釈する必要があります ( ''MUST'' )。\\ \\ 負またはゼロのTTLが提供されている場合、アイテムは既に期限切れであるため、存在する場合はキャッシュから削除する必要があります( ''MUST'' )。\\ \\   * **有効期限** -- アイテムが古くなったとに設定された実際の時間。 これは、オブジェクトが格納された時刻にTTLを加算することで計算されます。\\ \\ 300秒の TTL を持つアイテムが 1:30:00 に保存された時、その有効期限は 1:35:00 です。\\ \\ Implementing Library は、要求された有効期限の前にアイテムを期限切れにすることができます ( ''MAY'' )。ただし、有効期限に達したら、アイテムは期限切れとして扱う必要があります ( ''MUST'' )。Calling Library はアイテムの保存を要求しますが、有効期限を指定しない場合、または有効期限または TTL を null に指定した場合、Implementing Library は、構成されたデフォルトの期間を使用してもかまいません ( ''MAY'' )。 デフォルトの期間が設定されていない場合、Implementing Library は、それを、アイテムを永久に(または基本となる実装がサポートしている限りの間)キャッシュする要求として、それを解釈する必要があります ( ''MUST'' )。\\ \\ 負またはゼロのTTLが提供されている場合、アイテムは既に期限切れであるため、存在する場合はキャッシュから削除する必要があります( ''MUST'' )。\\ \\
   * **キー** -- キャッシュされたアイテムを一意に識別する少なくとも1つの文字の文字列。Implementing Library は UTF-8 エンコードで最大 64 文字の長さで任意の順序の文字、''A 〜 Z''、''a 〜 z''、''0 〜 9''、アンダースコア(''_'')、およびピリオド(''.'') の文字で構成されるキーをサポートする必要があります ( ''MUST'' )。Implementing Library は、追加の文字とエンコーディング または より長い文字長をサポートする場合がありますが ( ''MAY'' )、少なくともその最小値をサポートしなければなりません( ''MUST'' )。ライブラリは、必要に応じてキー文字列の独自のエスケープに責任がありますが、変更されていない元のキー文字列を返すことができる必要があります ( ''MUST'' )。 次の文字は、将来の拡張のために予約されており、Implementing Library によってサポートしてはなりません ( ''MUST NOT'' ):''{}()/\@:'' \\ \\    * **キー** -- キャッシュされたアイテムを一意に識別する少なくとも1つの文字の文字列。Implementing Library は UTF-8 エンコードで最大 64 文字の長さで任意の順序の文字、''A 〜 Z''、''a 〜 z''、''0 〜 9''、アンダースコア(''_'')、およびピリオド(''.'') の文字で構成されるキーをサポートする必要があります ( ''MUST'' )。Implementing Library は、追加の文字とエンコーディング または より長い文字長をサポートする場合がありますが ( ''MAY'' )、少なくともその最小値をサポートしなければなりません( ''MUST'' )。ライブラリは、必要に応じてキー文字列の独自のエスケープに責任がありますが、変更されていない元のキー文字列を返すことができる必要があります ( ''MUST'' )。 次の文字は、将来の拡張のために予約されており、Implementing Library によってサポートしてはなりません ( ''MUST NOT'' ):''{}()/\@:'' \\ \\ 
-  * **キャッシュミス** -- キャッシュミスはnullを返すため、nullを格納したか否かは検出できません。これ、PSR-6の仮定からです。+  * **キャッシュミス** -- キャッシュミスはnullを返すため、nullを格納したか否かは検出できません。これ、PSR-6の仮定から主としてれている点です。
  
  
行 68: 行 68:
  
 ===== 1.3 キャッシュ ===== ===== 1.3 キャッシュ =====
- 
-Implementations MAY provide a mechanism for a user to specify a default TTL if one is not specified for a specific cache item. If no user-specified default is provided implementations MUST default to the maximum legal value allowed by the underlying implementation. If the underlying implementation does not support TTL, the user-specified TTL MUST be silently ignored. 
  
 特定のキャッシュアイテムにデフォルトのTTLが指定されていない場合に、実装は、ユーザーがデフォルトのTTLを指定するためのメカニズムを提供することがあります( ''MAY'' )。 ユーザー指定のデフォルトが提供されない場合、実装は、基本となる実装で許可されている最大の正当な値にデフォルト設定する必要があります( ''MUST'' )。 基本となる実装がTTLをサポートしない場合、ユーザーが指定したTTLは黙って無視されなければなりません( ''MUST'' )。 特定のキャッシュアイテムにデフォルトのTTLが指定されていない場合に、実装は、ユーザーがデフォルトのTTLを指定するためのメカニズムを提供することがあります( ''MAY'' )。 ユーザー指定のデフォルトが提供されない場合、実装は、基本となる実装で許可されている最大の正当な値にデフォルト設定する必要があります( ''MUST'' )。 基本となる実装がTTLをサポートしない場合、ユーザーが指定したTTLは黙って無視されなければなりません( ''MUST'' )。
行 87: 行 85:
   * **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'' )、必須ではありません。それらとの互換性は、許すことができるオブジェクト値の基準として単に使用されます。
  
-なんらかの理由で正確に保存された値を返すことができない場合、Implementing library は、破損したデータではなくキャッシュミスで応答する必要があります (''MUST'')。+なんらかの理由で正確に保存された値を返すことができない場合、Implementing library は、破損したデータではなくキャッシュミスで応答する必要があります ( ''MUST'' )。
  
 \\ \\
psr/psr16.txt · 最終更新: 2020/09/01 11:54 by tanaka