Agent Skills by ALSEL
汎用ソフトウェア開発⭐ リポ 489品質スコア 91/100

php-best-practices

PHPのコードをベストプラクティスやPSR標準、コード品質ガイドラインに従って記述できます。PSR標準やSOLID原則に従ったPHP開発、またはコード品質の向上が必要な場合に活用してください。

description の原文を見る

Write PHP following best practices, PSR standards, and code quality guidelines. Use when writing PHP following PSR standards, SOLID principles, or improving code quality.

SKILL.md 本文

PHP ベストプラクティス

優先度: P1 (高)

構造

src/
├── {Domain}/             # 例: Services、Repositories
└── Helpers/              # 純粋な関数/Traits

実装ガイドライン

コーディングスタイル (PSR 標準)

  • PSR-12: 4スペースインデントを強制し、関数/メソッドの開きブレースは同じ行に配置します。
  • 整理: 1ファイル1クラス; use ステートメントは namespace の後に続きます。PSR-12 プリセットで PHP CS Fixer を実行してください。
  • 命名規則: クラスには PascalCase (UserService) を、メソッド/変数には camelCase (getUserById) を、クラス定数には SNAKE_CASE (MAX_RETRIES) を使用します。

PHP における SOLID 原則

  • SRP: 単一責任の原則 — それぞれを独自の焦点を絞ったクラスに抽出; クラスは約200行以下に保ちます。
  • 依存性逆転: インターフェースの型ヒント付きでコンストラクタ経由で注入します。テスト容易性のため、コンストラクタ経由で依存関係を注入します。深い継承チェーンよりも合成を優先します。
  • 関心の分離: インターフェースを使用して統合とロジックを疎結合にします。

ロジック とパフォーマンス

  • ガード句: エラー条件の場合は早期に return します (例: if (!$user) return null); ネストの深さを減らすため return の後に else を書きません。
  • Traits: HasTimestamps trait を定義して (例: use HasTimestamps) 横断的な動作を実装します。Traits は焦点を絞り、軽量に保ちます。
  • ヘルパー関数: グローバルネームスペースのロジックは避け、クラスで整理します。

アンチパターン

  • モノリシッククラスはダメ: 各クラスは1つの責任を持つ (SRP)。
  • ハードコードされたマジックナンバーはダメ: 名前付きクラス定数として定義します。
  • 深いネストはダメ: ガード句を使用して早期に return します。
  • サービスの中に echo はダメ: データを return し、出力はコントローラで行います。

参考資料

ライセンス: Apache-2.0(寛容ライセンスのため全文を引用しています) · 原本リポジトリ

詳細情報

作者
HoangNguyen0403
リポジトリ
HoangNguyen0403/agent-skills-standard
ライセンス
Apache-2.0
最終更新
2026/5/10

Source: https://github.com/HoangNguyen0403/agent-skills-standard / ライセンス: Apache-2.0

本サイトは GitHub 上で公開されているオープンソースの SKILL.md ファイルをクロール・インデックス化したものです。 各スキルの著作権は原作者に帰属します。掲載に問題がある場合は info@alsel.co.jp または /takedown フォームよりご連絡ください。
原作者: HoangNguyen0403 · HoangNguyen0403/agent-skills-standard · ライセンス: Apache-2.0