agentsclimarketplace

Php best practices

Skill ComeOnOliver/skillshub/skills/HoangNguyen0403/agent-skills-standard/php-best-practices

PHP best practices, PSR standards, and code quality guidelines. Use when writing PHP following PSR standards, SOLID principles, or improving code quality. (triggers: **/*.php, psr-12, camelCase, PascalCase, dry, solid)From its SKILL.md

Install
npx -y skills add ComeOnOliver/skillshub --skill php-best-practices

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

SKILL.md

2.0 KB, 421 tokens by cl100k_base, as published. Nobody here has run it

PHP Best Practices

Priority: P1 (HIGH)

Structure

src/
├── {Domain}/             # e.g., Services, Repositories
└── Helpers/              # Pure functions/Traits

Implementation Guidelines

Coding Style (PSR Standards)

  • PSR-12: Enforce 4-space indentation and opening braces on same line for functions/methods.
  • Organization: One class per file; use statements follow the namespace. Run PHP CS Fixer with the PSR-12 preset.
  • Naming Conventions: Use PascalCase (UserService) for classes, camelCase (getUserById) for methods/variables, and SNAKE_CASE (MAX_RETRIES) for class constants.

SOLID Principles in PHP

  • SRP: Single Responsibility Principle — extract each into its own focused class; keep classes under ~200 lines.
  • Dependency Inversion: inject via constructor with interface type-hints. Inject dependencies via constructor for testability. Favor composition over deep inheritance chains.
  • Separation of Concerns: Use Interfaces for decoupling integrations and logic.

Logic & Performance

  • Guard Clauses: Return early for error conditions (e.g., if (!$user) return null); no else after return to reduce nesting depth.
  • Traits: Define trait HasTimestamps (e.g., use HasTimestamps) for cross-cutting behavior. Keep traits focused and lightweight.
  • Helper Functions: Avoid global-namespace logic; organize in classes.

Anti-Patterns

  • No monolithic classes: Each class has one responsibility (SRP).
  • No hardcoded magic numbers: Define as named class constants.
  • No deep nesting: Use guard clauses to return early.
  • No echo in services: Return data; let the controller output.

References

What ships with it

Read from the repository

Just SKILL.md. No reference files, no scripts.

Keep looking

Skills are one crate of 325,949. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.