目次
基本コード仕様
「依存する影響」には、出力の生成、直接の require または include、外部サービスへの接続、ini 構成の変更、エラーまたは例外のスロー、グローバル変数または静的変数の変更、ファイルの読み取りまたは書き込み、等
クラスの命名は、大文字で始まる StudlyCaps のキャメルケース命名規則に従う必要があります。

PSR-1 基本コード仕様

Jun 20, 2016 pm 12:31 PM

基本コード仕様

この仕様は、共有 PHP コード間の高度な技術的相互運用性を保証するために、コードの基本要素に関連する標準を策定します。

1. 概要-----

  • PHP コード ファイル

  • PHP コード ファイル

    は BOM なしで UTF-8 でエンコードする必要があります。

  • PHPコード
  • は、クラス、関数、定数、または副次的な効果を生み出すその他の操作 (ファイル出力の生成や .ini 構成ファイルの変更など) などの宣言のみを定義する必要があります。選択できるのは 1 つだけです。

    名前空間とクラス
  • は、PSR の自動ロード仕様:
  • <🎜 のいずれかに準拠する必要があります。 > クラス の命名は

    クラス内の定数のすべての文字が大文字で始まる StudlyCaps のキャメルケース命名規則に従う必要があります。
  • は大文字の
  • である必要があります。単語はアンダースコアで区切られます。

    メソッド名
  • は、小文字で始まるキャメルケースの命名規則に
  • 準拠する必要があります。 < ?php ?>長いタグまたは 短い出力タグ

    他のカスタム タグを使用しないでください。

  • 2.2. 文字エンコーディング
  • PHP コードは BOM なしの UTF-8 エンコーディングのみを使用する必要があります。 2.3. 依存関係の影響 (副作用)

  • PHP ファイルでは、
は、クラス、関数、定数などの新しい宣言のみを定義する必要があります。依存関係を生成しない 効果操作は、依存効果を生成する論理操作のいずれかですが、
    が両方を同時に持つべきではありません。
  1. 「副作用」という用語は、クラス、関数、定数などを直接宣言せずに、ファイルをインクルードするだけで実行される論理演算を意味します。

「依存する影響」には、出力の生成、直接の require または include、外部サービスへの接続、ini 構成の変更、エラーまたは例外のスロー、グローバル変数または静的変数の変更、ファイルの読み取りまたは書き込み、等

以下は反例であり、宣言と従属効果を含むコードです。

以下は例であり、宣言のみを含み、従属効果を生成しないコードです。 :

名前空間とクラス

名前空間とクラスの命名は [PSR-0][] に従う必要があります。 仕様では、各クラスは個別のファイルであり、名前空間には少なくとも 1 つのレベル、つまり最上位の組織名 (ベンダー名) があります。

クラスの命名は、大文字で始まる StudlyCaps のキャメルケース命名規則に従う必要があります。

PHP 5.3 以降のバージョンのコードは、公式の名前空間を使用する必要があります。 例:

5.2.x およびそれ以前のバージョン

では、

疑似名前空間の書き込みを使用する必要があり、慣例としてトップレベルの組織名 (ベンダー) を使用します。 Vendor _ などの名前) はクラスの接頭辞です。

<?php// 从属效应:修改 ini 配置ini_set('error_reporting', E_ALL);// 从属效应:引入文件include "file.php";// 从属效应:生成输出echo "<html>\n";// 声明函数function foo(){    // 函数主体部分}
ログイン後にコピー

クラスの定数、プロパティ、メソッド

<?php// 声明函数function foo(){    // 函数主体部分}// 条件声明**不**属于从属效应if (! function_exists('bar')) {    function bar()    {        // 函数主体部分    }}
ログイン後にコピー
    ここでの「クラス」とは、すべてのクラス、インターフェイス、および再利用可能なコード ブロック (特性) を指します
  1. 4.1. 定数

クラス

内のすべての文字は

で大文字にする必要があり、単語はアンダースコアで区切られます。

次のコードを参照してください:

4.2. 属性

<?php// PHP 5.3及以后版本的写法namespace Vendor\Model;class Foo{}
ログイン後にコピー
クラスの属性命名はキャメルケース ($StudlyCaps) に従うことができます。 ) 大文字で始まるか、小文字で始まる CamelCase ($camelCase) またはアンダースコア区切り ($under_score) はこの仕様では必須ではありませんが、どの命名方法に従う場合でも、

内で一貫している必要があります。一定の範囲。このスコープは、チーム全体、パッケージ全体、クラス全体、またはメソッド全体にすることができます。

4.3. メソッド
<?php// 5.2.x及之前版本的写法class Vendor_Model_Foo{}
ログイン後にコピー
    メソッド名
  1. は、小文字で始まるキャメルケース () スタイルの命名規則に
  2. 準拠する必要があります。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Laravelでフラッシュセッションデータを使用します Laravelでフラッシュセッションデータを使用します Mar 12, 2025 pm 05:08 PM

Laravelは、直感的なフラッシュメソッドを使用して、一時的なセッションデータの処理を簡素化します。これは、アプリケーション内に簡単なメッセージ、アラート、または通知を表示するのに最適です。 データは、デフォルトで次の要求のためにのみ持続します。 $リクエスト -

PHPのカール:REST APIでPHPカール拡張機能を使用する方法 PHPのカール:REST APIでPHPカール拡張機能を使用する方法 Mar 14, 2025 am 11:42 AM

PHPクライアントURL(CURL)拡張機能は、開発者にとって強力なツールであり、リモートサーバーやREST APIとのシームレスな対話を可能にします。尊敬されるマルチプロトコルファイル転送ライブラリであるLibcurlを活用することにより、PHP Curlは効率的なexecuを促進します

Laravelテストでの簡略化されたHTTP応答のモッキング Laravelテストでの簡略化されたHTTP応答のモッキング Mar 12, 2025 pm 05:09 PM

Laravelは簡潔なHTTP応答シミュレーション構文を提供し、HTTP相互作用テストを簡素化します。このアプローチは、テストシミュレーションをより直感的にしながら、コード冗長性を大幅に削減します。 基本的な実装は、さまざまな応答タイプのショートカットを提供します。 Illuminate \ support \ facades \ httpを使用します。 http :: fake([[ 'google.com' => 'hello world'、 'github.com' => ['foo' => 'bar']、 'forge.laravel.com' =>

Codecanyonで12の最高のPHPチャットスクリプト Codecanyonで12の最高のPHPチャットスクリプト Mar 13, 2025 pm 12:08 PM

顧客の最も差し迫った問題にリアルタイムでインスタントソリューションを提供したいですか? ライブチャットを使用すると、顧客とのリアルタイムな会話を行い、すぐに問題を解決できます。それはあなたがあなたのカスタムにより速いサービスを提供することを可能にします

PHPにおける後期静的結合の概念を説明します。 PHPにおける後期静的結合の概念を説明します。 Mar 21, 2025 pm 01:33 PM

記事では、PHP 5.3で導入されたPHPの後期静的結合(LSB)について説明し、より柔軟な継承を求める静的メソッドコールのランタイム解像度を可能にします。 LSBの実用的なアプリケーションと潜在的なパフォーマ

フレームワークセキュリティ機能:脆弱性から保護します。 フレームワークセキュリティ機能:脆弱性から保護します。 Mar 28, 2025 pm 05:11 PM

記事では、入力検証、認証、定期的な更新など、脆弱性から保護するためのフレームワークの重要なセキュリティ機能について説明します。

JSON Web Tokens(JWT)とPHP APIでのユースケースを説明してください。 JSON Web Tokens(JWT)とPHP APIでのユースケースを説明してください。 Apr 05, 2025 am 12:04 AM

JWTは、JSONに基づくオープン標準であり、主にアイデンティティ認証と情報交換のために、当事者間で情報を安全に送信するために使用されます。 1。JWTは、ヘッダー、ペイロード、署名の3つの部分で構成されています。 2。JWTの実用的な原則には、JWTの生成、JWTの検証、ペイロードの解析という3つのステップが含まれます。 3. PHPでの認証にJWTを使用する場合、JWTを生成および検証でき、ユーザーの役割と許可情報を高度な使用に含めることができます。 4.一般的なエラーには、署名検証障害、トークンの有効期限、およびペイロードが大きくなります。デバッグスキルには、デバッグツールの使用とロギングが含まれます。 5.パフォーマンスの最適化とベストプラクティスには、適切な署名アルゴリズムの使用、有効期間を合理的に設定することが含まれます。

See all articles