Ground Sunlight

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

ユーザ用ツール

サイト用ツール


psr:psr1

差分

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

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

両方とも前のリビジョン 前のリビジョン
次のリビジョン
前のリビジョン
psr:psr1 [2020/04/23 10:10]
y2sunlight [3. 名前空間とクラス名]
psr:psr1 [2020/09/01 11:51] (現在)
tanaka [PSR-1: Basic Coding Standard]
行 1: 行 1:
-> TODO: 編集中 
- 
------ 
- 
 ====== PSR-1: Basic Coding Standard ====== ====== PSR-1: Basic Coding Standard ======
  
  --- //[[http://www.y2sunlight.com|y2sunlight]] 2020-04-21//  --- //[[http://www.y2sunlight.com|y2sunlight]] 2020-04-21//
  
-本章は、若干の補足を加筆してはいるものの単に[[https://www.php-fig.org/psr/|PSRのサイト]]を翻訳したものに過ぎません。英語が堪能な方は原文をご参照下さい。翻訳に当たっては、基本的に機械翻訳を使い、理解できない部分は独断で意訳しております。拙い訳では御座いますが恥を忍んで投稿しておりますので、ご指摘など御座いましたらコメントを頂ければ幸いです。+本章は、若干の補足を加筆してはいるものの単に[[https://www.php-fig.org/psr/|PSRのサイト]]を日本語に翻訳したものに過ぎません。英語が堪能な方は原文をご参照下さい。翻訳に当たっては、基本的に機械翻訳を使い、理解できない部分は独断で意訳しております。拙い訳では御座いますが恥を忍んで投稿しておりますので、ご指摘など御座いましたらコメントを頂ければ幸いです。 
 + 
 +関連記事
  
-==== 目次 ==== +  * [[psr:top|PSR - PHP標準勧告]]
-  * [[psr:top|PHP - PHP標準勧告]]+
   * PSR-1: Basic Coding Standard - 基本コーディング規約   * PSR-1: Basic Coding Standard - 基本コーディング規約
   * [[psr:psr3|PSR-3: Logger Interface - ロガーインターフェイス]]   * [[psr:psr3|PSR-3: Logger Interface - ロガーインターフェイス]]
行 16: 行 13:
   * [[psr:psr5|PSR-5: PHPDoc Standard(Draft) - PHPDoc規約]]   * [[psr:psr5|PSR-5: PHPDoc Standard(Draft) - PHPDoc規約]]
   * [[psr:psr6|PSR-6: Caching Interface - キャッシングインターフェイス]]    * [[psr:psr6|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タグ]] 
  
 ----- -----
行 25: 行 32:
 このセクションの規約は、共有されるPHPコードにおいて、高度な技術的相互運用性を保証するために必要な標準コーディング要素と見なす必要があるもので構成されています。 このセクションの規約は、共有されるPHPコードにおいて、高度な技術的相互運用性を保証するために必要な標準コーディング要素と見なす必要があるもので構成されています。
  
-このドキュメントのキーワード ''MUST'' , ''MUST NOT'' , ''REQUIRED'' , ''SHALL'' , ''SHALL NOT'' , ''SHOULD'' , ''SHOULD NOT'' , ''RECOMMENDED'' , ''MAY'' 及び ''OPTIONAL'' は、 [[https://www.ietf.org/rfc/rfc2119.txt|RFC 2119]]で説明されているように解釈されます+このドキュメントのキーワード ''MUST'' , ''MUST NOT'' , ''REQUIRED'' , ''SHALL'' , ''SHALL NOT'' , ''SHOULD'' , ''SHOULD NOT'' , ''RECOMMENDED'' , ''MAY'' 及び ''OPTIONAL'' は、 [[https://www.ietf.org/rfc/rfc2119.txt|RFC 2119]]で説明されているように解釈して下
  
 > **RFC 2119の説明** > **RFC 2119の説明**
 > ''MUST'', ''REQUIRED'', ''SHALL'' --- 絶対必要 > ''MUST'', ''REQUIRED'', ''SHALL'' --- 絶対必要
 > ''MUST NOT'', ''SHALL NOT'' --- 絶対禁止 > ''MUST NOT'', ''SHALL NOT'' --- 絶対禁止
-> ''SHOULD'', ''RECOMMENDED'' --- 推奨(無視すべき特定の正当な理由が存在するかもしれない) +> ''SHOULD'', ''RECOMMENDED'' --- 推奨(但し、無視特定の正当な理由が存在するかもしれない) 
-> ''SHOULD NOT'' --- 推奨できない(許可できる特定の正当な理由が存在するかもしれない)+> ''SHOULD NOT'' --- 推奨できない(但し、許可できる特定の正当な理由が存在するかもしれない)
 > ''MAY'', ''OPTIONAL'' --- オプション > ''MAY'', ''OPTIONAL'' --- オプション
  
行 72: 行 79:
   * エラーまたは例外の発行   * エラーまたは例外の発行
   * ローバル変数または静的変数の変更   * ローバル変数または静的変数の変更
-  * ファイルの読み取りまたは書き込み +  * ファイルの読み取りまたは書き込み など
-  * その他+
  
 以下は、宣言と副作用の両方を含むファイルの例です。つまり、避けるべき例です: 以下は、宣言と副作用の両方を含むファイルの例です。つまり、避けるべき例です:
行 152: 行 158:
 ===== 4. クラス定数、プロパティ、メソッド ====== ===== 4. クラス定数、プロパティ、メソッド ======
  
-TODO:+「クラス」という用語は、すべてのクラス(class)、インターフェース(interface)、およびトレイト(trait)を指します。 
 + 
 +==== 4.1 定数 ==== 
 +クラス定数は、アンダースコア区切りで大文字で宣言する必要があります( ''MUST'' )。例えば以下のようです: 
 + 
 +<code php> 
 +namespace Vendor\Model; 
 + 
 +class Foo 
 +
 +    const VERSION = '1.0'; 
 +    const DATE_APPROVED = '2012-06-01'; 
 +
 +</code> 
 + 
 +==== 4.2 プロパティ ==== 
 +このガイドでは、プロパティ名について、**StudlyCaps**、**camelCase**、または **under_score** の使用に関する推奨を意図的に避けています。 
 + 
 +>StudlyCapsとは、Upper Camel Case または Pascal Caseと同意です。 
 +>camelCaseとは、Lower Camel Case と同意です。 
 +>under_scoreとは、Snake Case と同意です。 
 + 
 +どのような命名規則が使用されていても、合理的なスコープで一貫して適用されるべきです。そのスコープとは、ベンダーレベル、パッケージレベル、クラスレベル、またはメソッドレベルなどでしょう( ''SHOULD'' )。 
 + 
 +==== 4.3 メソッド ==== 
 +メソッド名は **camelCase** で宣言する必要があります( ''MUST'' )。
  
 \\ \\
  
psr/psr1.1587604239.txt.gz · 最終更新: 2020/04/23 10:10 by y2sunlight