SuperAPI AI Directory

php-language

General & other

View repository

Updated 10-15 22:13

About this skill

PHP Language Standards

Priority: P0 (CRITICAL)

Structure

src/
└── {Namespace}/
    └── {Class}.php

Implementation Guidelines

Core Language Standards

  • Strict Typing: Declare declare(strict_types=1); at very top of every file.
  • Type Hinting: Apply scalar type hints (e.g., string, int) and return types to all functions.
  • Strict Comparison: Avoid loose == comparison; always use === for strict equality.

Modern PHP 8+ Patterns

  • Match Expressions: Prefer match($status) over switch for value returns. It provides strict comparison and exhaustive by default.
  • Default Case: Use default => throw new InvalidArgumentException($status) to handle unknown states.
  • Read-only: Use public readonly string $name for properties set once at construction.
  • Property Promotion: Use public function __construct(public string $name) {} to reduce boilerplate.
  • Named Arguments: Call functions with name: 'John', age: 25 to skip optional parameters.
  • Flexible Types: Use Union types (int|string) and Intersection types (Countable&Traversable).

Anti-Patterns

  • No untyped functions: Declare return and parameter types always.
  • No loose == comparison: Use === for strict equality.
  • No switch for value mapping: Use match expressions instead.
  • No global namespace logic: Organize in classes and namespaces.

References