国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

ホームページ バックエンド開発 PHPチュートリアル PSR を理解する - PHP コーディング スタイル ガイド

PSR を理解する - PHP コーディング スタイル ガイド

Oct 22, 2024 am 06:11 AM

Understanding PSR- The PHP Coding Style Guide

PHP でしばらく開発をしている人なら、PSR-12 という用語に遭遇したことがあるでしょう。これは、PHP コミュニティで最も広く受け入れられているコーディング標準の 1 つであり、さまざまなプロジェクト間で PHP コードベースの一貫性を確保することを目的としています。単獨で作業(yè)している場合でも、チームの一員として作業(yè)している場合でも、PSR-12 に従うことで、コードがよりクリーンになり、読みやすくなり、保守が容易になります。このブログでは、PSR-12 とは何か、なぜ重要なのか、プロジェクトにどのように適用できるのかを詳しく説明します。

目次

  1. PSR-12 とは何ですか?
  2. PSR-12 はなぜ重要ですか?
  3. PSR-12 の重要なルール
    • ファイル構(gòu)造
    • 名前空間と使用宣言
    • クラスとメソッド
    • 制御構(gòu)造
    • コメントとドキュメント
  4. PHP プロジェクトに PSR-12 を適用する方法
  5. PSR-12 の追跡に役立つツール
  6. 最終的な感想

PSR-12とは何ですか?

PSR-12 は、PHP-FIG (Framework Interoperability Group) によって開発された、PHP 用の コーディング スタイル ガイド です。これは、以前の PSR-2 標準に基づいて構(gòu)築されており、最新の PHP の実踐を反映し、コードベース間の一貫性を向上させる更新されたルール セットを提供します。

PSR-12 は、クリーンで読みやすく、保守しやすい PHP コードを作成するための青寫真と考えてください。 PSR-12 に従うことで、開発者はコードが標準化された構(gòu)造に準拠していることを確認できるため、他のユーザーとのコラボレーションやオープンソース プロジェクトでの作業(yè)が容易になります。

PSR-12 が重要な理由

PSR-12 のようなコーディング標準は、スペースやタブの細かい點を気にするだけではありません。それらが重要な理由は次のとおりです:

  • 読みやすさ: 標準スタイルに従ったコードは、特にプロジェクトに慣れていない開発者にとって読みやすくなります。
  • コラボレーション: 全員が同じルールに従えば、共同作業(yè)がよりスムーズかつ効率的になります。
  • 保守性: クリーンで一貫性のあるコードは、時間の経過とともにデバッグ、テスト、拡張が容易になります。
  • 相互運用性: オープンソース プロジェクトまたはサードパーティ ライブラリを統(tǒng)合する場合、共通の標準に従うことで、異なるコードベース間での互換性が確保されます。

PSR-12 の重要なルール

PSR-12 が規(guī)定する重要なルールのいくつかを詳しく見てみましょう。細かいガイドラインは數(shù)多くありますが、最も目立つガイドラインを以下に示します。

1. ファイル構(gòu)造

  • 開始タグ: PHP ファイルでは
  • エンコーディング: ファイルは BOM (バイト オーダー マーク) なしで UTF-8 でエンコードする必要があります。
  • 行の長さ: 行は 120 文字を超えてはなりませんが、80 文字までの行が推奨されます。
  • 空白行: PHP の開始タグの後または終了タグの前に空白行があってはなりません。さらに、return ステートメントの前およびメソッド定義の間に 1 つの空白行が必要です。

2. 名前空間と使用宣言

PSR-12 では、明確性を高めるために、名前空間と使用宣言が特定の順序に従う必要があります。

  • 名前空間宣言: 名前空間宣言は、PHP 開始タグの後の最初の行である必要があります。名前空間の後には空白行が 1 行必要です。
  • Use 宣言: すべての use 宣言は、名前空間宣言の後にグループ化し、空白行で區(qū)切る必要があります。さらに、最後の use ステートメントの後には空行が 1 行必要です。

例:

<?php

namespace App\Controllers;

use App\Models\User;
use App\Repositories\UserRepository;

class UserController {
    // Class implementation
}

3. クラスとメソッド

PSR-12 では、クラス、プロパティ、メソッドの宣言方法に関していくつかの厳格なルールが適用されます。

  • クラス宣言: class キーワードの後に??スペース、その後にクラス名を続ける必要があります。開き中括弧 { はクラス宣言と同じ行に配置し、閉じ中括弧 } は別の行に配置する必要があります。
  • プロパティ: すべてのプロパティに対して可視性 (パブリック、プロテクト、プライベート) を宣言する必要があります。
  • メソッド: クラス宣言と同様に、関數(shù)キーワードの後に??スペース、その後にメソッド名を続ける必要があります。すべてのメソッドに対して可視性を宣言する必要があります。
class UserController {
    private $userRepository;

    public function __construct(UserRepository $userRepository) {
        $this->userRepository = $userRepository;
    }
}




<h4>
  
  
  4. 制御構(gòu)造
</h4>

<p>if、for、switch などの制御構(gòu)造は、特定のルールに従う必要があります:</p>

<ul>
<li>
<strong>構(gòu)造</strong>: 制御キーワードと左括弧の間にはスペースが 1 つ必要です。単一行のステートメントであっても、中括弧 {} を常に使用する必要があります。</li>
<li>
<strong>インデント</strong>: 制御構(gòu)造內(nèi)のすべてのブロックは 1 レベル (通常は 4 つのスペース) でインデントする必要があります。
</li>
</ul>

<pre class="brush:php;toolbar:false">if ($user->isAdmin()) {
    echo "User is an admin";
} else {
    echo "User is not an admin";
}

5. コメントとドキュメント

コメントは、コードの特定の部分が存在する理由を説明するために非常に重要です。 PSR-12 は、適切かつ明確なコメントの必要性を強調(diào)しています。

  • コメントをブロック: 複數(shù)行のコメントには /* */ を使用し、コメントの前に空行を置きます。
  • 単一行コメント: インライン コメントには // を使用し、コメントが意味のあるものであることを確認してください。
<?php

namespace App\Controllers;

use App\Models\User;
use App\Repositories\UserRepository;

class UserController {
    // Class implementation
}

PHP プロジェクトに PSR-12 を適用する方法

プロジェクトで PSR-12 に従うには、コードを記述するときにガイドラインに手動で従うこともできますが、確実に準拠する最善の方法は、自動化ツールを使用することです。

まず、次の一般的な方法をよく理解してください:

  • 一貫したインデントを使用する: インデントには 4 つのスペースが必要です。
  • 行の長さを制限する: 読みやすくするためには 80 文字が推奨されますが、行は 120 文字未満に抑えるようにしてください。
  • コード構(gòu)造を整理する: クラス宣言、可視性、および制御構(gòu)造のルールに従います。

PSR-12 の追跡に役立つツール

コードが PSR-12 に従っていることを手動で確認するには時間がかかる場合がありますが、このプロセスの自動化に役立つツールがあります。

1.PHP_CodeSniffer

PHP コードが PSR-12 に従っていることを確認するための最も人気のあるツールの 1 つは、PHP_CodeSniffer です。コードを分析し、標準から逸脫している箇所を指摘します。

インストールして使用するには:

class UserController {
    private $userRepository;

    public function __construct(UserRepository $userRepository) {
        $this->userRepository = $userRepository;
    }
}

次に、コードに対して実行します。

if ($user->isAdmin()) {
    echo "User is an admin";
} else {
    echo "User is not an admin";
}

2. PHP CS フィクサー

もう 1 つの便利なツールは、PHP CS Fixer です。問題を検出するだけでなく、PSR-12 に準拠するようにコードを自動的に修正することもできます。

// Fetch user from the repository
$user = $userRepository->find($id);

/*
 * If user is not found, throw an exception.
 * This helps in handling invalid user IDs.
 */
if (!$user) {
    throw new NotFoundException();
}

次のコマンドでフィクサーを?qū)g行します:

composer require "squizlabs/php_codesniffer=*"

3.PHPStorm

PHPStorm を使用している場合は、PSR-12 に従うように設定できます。 設定 -> に移動します。 編集者 -> コードスタイル -> PHP を選択し、標準を PSR-12 に設定します。

最終的な考え

PHP プロジェクトで PSR-12 に従うことは、単に任意のルールに従うだけではありません。一人で作業(yè)している場合でも、チームで作業(yè)している場合でも、コードをよりクリーンで読みやすく、保守しやすくすることが重要です。 PSR-12 に従うことで、自分自身のためだけでなく、PHP コミュニティ全體のためにコードを書くことになります。

この標準の採用は、プロフェッショナルで一貫性があり、保守しやすい PHP コードを作成するための一歩です。前述のツールを使用してプロセスを簡単にし、プロジェクトがどれだけクリーンで整理されたものになるかを見てください!

コーディングを楽しんでください!

以上がPSR を理解する - PHP コーディング スタイル ガイドの詳細內(nèi)容です。詳細については、PHP 中國語 Web サイトの他の関連記事を參照してください。

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

ホットAIツール

Undress AI Tool

Undress AI Tool

脫衣畫像を無料で

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

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

SublimeText3 中國語版

SublimeText3 中國語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統(tǒng)合開発環(huán)境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

PHPに認証と承認を?qū)g裝するにはどうすればよいですか? PHPに認証と承認を?qū)g裝するにはどうすればよいですか? Jun 20, 2025 am 01:03 AM

tosecurelyhandLeauthenticationAndauthorizationInizationInization、followTheSteps:1.LwayShashPasswordswithPassword_hash()andverifyusingpassword_verify()、usepreparedStatementStatementStatementStatementStatementStain、andstoreUserdatain $ _SessionAfterlogin.2.implementRementRementRementRementRementRementRementRole

PHPでファイルアップロードを安全に処理するにはどうすればよいですか? PHPでファイルアップロードを安全に処理するにはどうすればよいですか? Jun 19, 2025 am 01:05 AM

PHPでファイルアップロードを安全に処理するために、コアはファイルタイプを確認し、ファイルの名前を変更し、権限を制限することです。 1。Finfo_File()を使用して実際のMIMEタイプを確認し、Image/JPEGなどの特定のタイプのみが許可されます。 2。uniqid()を使用してランダムファイル名を生成し、非webルートディレクトリに保存します。 3. PHP.iniおよびHTMLフォームを介してファイルサイズを制限し、ディレクトリ権限を0755に設定します。 4. Clamavを使用してマルウェアをスキャンしてセキュリティを強化します。これらの手順は、セキュリティの脆弱性を効果的に防止し、ファイルのアップロードプロセスが安全で信頼性が高いことを確認します。

PHPの==(ゆるい比較)と===(厳密な比較)の違いは何ですか? PHPの==(ゆるい比較)と===(厳密な比較)の違いは何ですか? Jun 19, 2025 am 01:07 AM

PHPでは、==と==の主な違いは、タイプチェックの厳格さです。 ==タイプ変換は比較の前に実行されます。たとえば、5 == "5"はtrueを返します。===リクエストは、trueが返される前に値とタイプが同じであることを要求します。たとえば、5 === "5"はfalseを返します。使用シナリオでは、===はより安全で、最初に使用する必要があります。==は、タイプ変換が必要な場合にのみ使用されます。

PHP(、 - 、 *、 /、%)で算術操作を?qū)g行するにはどうすればよいですか? PHP(、 - 、 *、 /、%)で算術操作を?qū)g行するにはどうすればよいですか? Jun 19, 2025 pm 05:13 PM

PHPで基本的な數(shù)學操作を使用する方法は次のとおりです。1。追加標識は、整數(shù)と浮動小數(shù)點數(shù)をサポートし、変數(shù)にも使用できます。文字列番號は自動的に変換されますが、依存関係には推奨されません。 2。減算標識の使用 - 標識、変數(shù)は同じであり、タイプ変換も適用されます。 3.乗算サインは、數(shù)字や類似の文字列に適した標識を使用します。 4.分割はゼロで割らないようにする必要がある分割 /標識を使用し、結(jié)果は浮動小數(shù)點數(shù)である可能性があることに注意してください。 5.モジュラス標識を採取することは、奇妙な數(shù)と偶數(shù)を判斷するために使用でき、負の數(shù)を処理する場合、殘りの兆候は配當と一致しています。これらの演算子を正しく使用するための鍵は、データ型が明確であり、境界の狀況がうまく処理されるようにすることです。

PHPのNOSQLデータベース(Mongodb、Redisなど)とどのように対話できますか? PHPのNOSQLデータベース(Mongodb、Redisなど)とどのように対話できますか? Jun 19, 2025 am 01:07 AM

はい、PHPは、特定の拡張機能またはライブラリを使用して、MongoDBやRedisなどのNOSQLデータベースと対話できます。まず、MongoDBPHPドライバー(PECLまたはComposerを介してインストール)を使用して、クライアントインスタンスを作成し、データベースとコレクションを操作し、挿入、クエリ、集約、その他の操作をサポートします。第二に、PredisライブラリまたはPhpredis拡張機能を使用してRedisに接続し、キー価値設定と取得を?qū)g行し、高性能シナリオにPhpredisを推奨しますが、Predisは迅速な展開に便利です。どちらも生産環(huán)境に適しており、十分に文書化されています。

最新のPHP開発とベストプラクティスを最新の狀態(tài)に保つにはどうすればよいですか? 最新のPHP開発とベストプラクティスを最新の狀態(tài)に保つにはどうすればよいですか? Jun 23, 2025 am 12:56 AM

postaycurrentwithpdevellyments andbest practices、follow keynewsourceslikephp.netandphpweekly、egagewithcommunitiessonforums andconferences、keeptooling and gradivallyadoptnewfeatures、andreadorcontributeTopensourceprijeprijeprijeptrijeprijeprests.

PHPとは何ですか、そしてなぜそれがWeb開発に使用されるのですか? PHPとは何ですか、そしてなぜそれがWeb開発に使用されるのですか? Jun 23, 2025 am 12:55 AM

PhpBecamepopularforwebdevelopmentduetoitseaseaseaseaseasease、SeamlessintegrationWithhtml、widespreadhostingsupport、andalargeecosystemincludingframeworkelavelandcmsplatformslikewordspresspressinsinsionsisionsisionsisionsisionsionsionsisionsionsionsisionsisions

PHPタイムゾーンを設定する方法は? PHPタイムゾーンを設定する方法は? Jun 25, 2025 am 01:00 AM

tosettherighttimezoneInphp、usedate_default_timezone_set()functionthestthestofyourscriptwithavalididentifiersiersuchas'america/new_york'.1.usedate_default_timezone_set()beforeanydate/timefunctions.2.2.Altertentally、confuturethephp.inifilebyset.

See all articles