Ground Sunlight

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

ユーザ用ツール

サイト用ツール


psr:psr13

差分

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

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

両方とも前のリビジョン 前のリビジョン
次のリビジョン
前のリビジョン
次のリビジョン 両方とも次のリビジョン
psr:psr13 [2020/07/20 07:15]
y2sunlight [1.4 リンクテンプレート]
psr:psr13 [2020/07/20 08:22]
y2sunlight [3.1 Psr\Link\LinkInterface]
行 105: 行 105:
 \\ \\
  
-==== 1.5 発展的プロバイダー ====+==== 1.5 進化可能なプロバイダー ====
  
-In some cases, a Link Provider may need the ability to have additional links added to it. In others, a link provider is necessarily read-only, with links derived at runtime from some other data source. For that reason, modifiable providers are a secondary interface that may optionally be implemented. +場合によっては、リンクプロバイダーは追加されたリンクを持つ機能が必要になることがあります。他の場合では、リンクプロバイダーは必ず読み取り専用であり、実行時に他のデータソースからリンクが派生します。そのため、変更可能なプロバイダーは、オプションで実装できるセカンダリインターフェースとなります。
- +
-場合によっては、リンクプロバイダーは追加されたリンクを持つ機能が必要になることがあります。他の場合では、リンクプロバイダーは必ず読み取り専用であり、実行時に他のデータソースからリンクが派生します。そのため、変更可能なプロバイダーは、オプションで実装できるセカンダリインターフェースとなります。 +
- +
-Additionally, some Link Provider objects, such as PSR-7 Response objects, are by design immutable. That means methods to add links to them in-place would be incompatible. Therefore, the EvolvableLinkProviderInterface’s single method requires that a new object be returned, identical to the original but with an additional Link object included.+
  
 さらに、PSR-7 Responseオブジェクトの様ないくつかのリンクプロバイダーオブジェクトは、設計上不変です。つまり、それらへのリンクをインプレースで追加するメソッドには互換性がありません。従って、''EvolvableLinkProviderInterface'' の単一のメソッドでは、元のオブジェクトと同じですが、追加のリンクオブジェクトが含まれた新しいオブジェクトを返す必要があります。 さらに、PSR-7 Responseオブジェクトの様ないくつかのリンクプロバイダーオブジェクトは、設計上不変です。つまり、それらへのリンクをインプレースで追加するメソッドには互換性がありません。従って、''EvolvableLinkProviderInterface'' の単一のメソッドでは、元のオブジェクトと同じですが、追加のリンクオブジェクトが含まれた新しいオブジェクトを返す必要があります。
行 117: 行 113:
 \\ \\
  
-==== 1.6 発展的リンクオブジェクト ==== +==== 1.6 進化可能なリンクオブジェクト ====
- +
-Link objects are in most cases value objects. As such, allowing them to evolve in the same fashion as PSR-7 value objects is a useful option. For that reason, an additional EvolvableLinkInterface is included that provides methods to produce new object instances with a single change. The same model is used by PSR-7 and, thanks to PHP’s copy-on-write behavior, is still CPU and memory efficient. +
- +
-リンクオブジェクトは、ほとんどの場合値オブジェクトです。そのため、PSR-7値オブジェクトと同じ方法でそれらを発展させることは、有用なオプションです。そのため、1回の変更で新しいオブジェクトインスタンスを生成するメソッドを提供するEvolvableLinkInterfaceが追加されています。同じモデルがPSR-7で使用されており、PHPのcopy-on-write動作のおかげで、CPUとメモリの効率が向上しています。+
  
-There is no evolvable method for templated values, however, as the templated value of a link is based exclusively on the href value. It MUST NOT be set independently, but derived from whether or not the href value is an RFC 6570 link template.+リンクオブジェクトは、ほとんどの場合、値オブジェクトです。そのため、PSR-7の値オブジェクトと同じ方法でそれらを進化させることは、有用なオプションです。そのため、1回の変更で新しいオブジェクトインスタンスを生成するメソッドを提供する EvolvableLinkInterface が追加されています。同じモデルが PSR-7 で使用されており、PHP の copy-on-write 動作のおかげで、CPUとメモリの効率が向上しています。
  
-ただし、リンクのテンプレート値はhref値にのみ基づいているので、テンプレート値に対しては発展的な方法はありません。それは、独自に設定することはできませんが( ''MUST NOT'' )、href値がRFC 6570リンクテンプレートであるかどうかに由来しています。+ただし、リンクのテンプレート値は href 値にのみ基づいているので、テンプレート値に対しては進化可能な方法はありません。それは、独自に設定することはできませんが( ''MUST NOT'' )、href値が RFC 6570 リンクテンプレートであるかどうかに由来しています。
  
 \\ \\
行 133: 行 125:
 The interfaces and classes described are provided as part of the psr/link package. The interfaces and classes described are provided as part of the psr/link package.
  
-説明されているインターフェースとクラスは、[[https://packagist.org/packages/psr/link|psr/link]]パッケージの一部として提供されます。+説明されているインターフェースとクラスは、[[https://packagist.org/packages/psr/link|psr/link]] パッケージの一部として提供されます。
  
 \\ \\
行 147: 行 139:
  
 /** /**
- * A readable link object. 
  * 読み取り可能なリンクオブジェクト。  * 読み取り可能なリンクオブジェクト。
  */  */
行 153: 行 144:
 { {
     /**     /**
-     * Returns the target of the link. 
      * リンクのターゲットを返します。      * リンクのターゲットを返します。
      *      *
-     * The target link must be one of: 
-     * - An absolute URI, as defined by RFC 5988. 
-     * - A relative URI, as defined by RFC 5988. The base of the relative link 
-         is assumed to be known based on context by the client. 
-     * - A URI template as defined by RFC 6570. 
      *      *
      * ターゲットリンクは次のいずれかである必要があります。      * ターゲットリンクは次のいずれかである必要があります。
-     * -RFC 5988で定義されている絶対URI。 +     * - RFC 5988で定義されている絶対URI。 
-     * -RFC 5988で定義されている相対URI。相対リンクのベースは、クライアントによるコンテキストに +     * - RFC 5988で定義されている相対URI。相対リンクのベースは、クライアントによるコンテキストに 
-         基づいて認識されていると想定されています。 +       基づいて認識されていると想定されています。 
-     * -RFC 6570で定義されているURIテンプレート。+     * - RFC 6570で定義されているURIテンプレート。
      *      *
-     * If a URI template is returned, isTemplated() MUST return True. 
      * URIテンプレートが返される場合、isTemplated()はTrueを返さなければなりません (MUST)      * URIテンプレートが返される場合、isTemplated()はTrueを返さなければなりません (MUST)
      *      *
行 176: 行 160:
  
     /**     /**
-     * Returns whether or not this is a templated link. 
      * これがテンプレートリンクかどうかを返します。      * これがテンプレートリンクかどうかを返します。
      *      *
      * @return bool      * @return bool
-       True if this link object is templated, False otherwise. 
        このリンクオブジェクトがテンプレート化されている場合はTrue、そうでない場合はFalse。        このリンクオブジェクトがテンプレート化されている場合はTrue、そうでない場合はFalse。
      */      */
行 186: 行 168:
  
     /**     /**
-     * Returns the relationship type(s) of the link. 
      * リンクの関係タイプを返します。      * リンクの関係タイプを返します。
      *      *
-     * This method returns 0 or more relationship types for a link, expressed +     * このメソッドは、リンクに対し0以上の関係タイプを文字列の配列として返します。
-     * as an array of strings. +
-     * このメソッドは、リンク0以上の関係タイプを文字列の配列として返します。+
      *      *
      * @return string[]      * @return string[]
行 198: 行 177:
  
     /**     /**
-     * Returns a list of attributes that describe the target URI. 
      * ターゲットURIを説明する属性のリストを返します。      * ターゲットURIを説明する属性のリストを返します。
      *      *
      * @return array      * @return array
-       A key-value list of attributes, where the key is a string and the value 
-      is either a PHP primitive or an array of PHP strings. If no values are 
-      found an empty array MUST be returned. 
       属性のKey-Valueリスト。キーは文字列で、値はPHPプリミティブまたはPHP文字列の配列です。        属性のKey-Valueリスト。キーは文字列で、値はPHPプリミティブまたはPHP文字列の配列です。 
       値が見つからない場合は、空の配列を返す必要があります。       値が見つからない場合は、空の配列を返す必要があります。
psr/psr13.txt · 最終更新: 2020/09/01 11:53 by tanaka