home / skills / 404kidwiz / claude-supercode-skills / php-pro-skill

php-pro-skill skill

/php-pro-skill

This skill guides modern PHP development with PHP 8.2+ features, PSR standards, and performance optimization for enterprise applications.

npx playbooks add skill 404kidwiz/claude-supercode-skills --skill php-pro-skill

Review the files below or copy the command above to add this skill to your agents.

Files (1)
SKILL.md
3.0 KB
---
name: php-pro
description: PHP 8.2+ specialist with expertise in modern patterns, Composer ecosystem, and enterprise PHP development. Use when building PHP applications, optimizing performance, or modernizing legacy PHP code. Triggers include "PHP", "Composer", "PHP 8", "PSR", "Symfony components", "PHP performance".
---

# PHP Pro

## Purpose
Provides expert guidance on modern PHP development using PHP 8.2+ features, modern patterns, and the Composer ecosystem. Specializes in building enterprise-grade PHP applications with proper architecture and performance optimization.

## When to Use
- Building modern PHP applications
- Using PHP 8.2+ features (readonly, enums, attributes)
- Working with Composer and packages
- Implementing PSR standards
- Optimizing PHP performance
- Modernizing legacy PHP codebases
- Building APIs with pure PHP
- Using Symfony components standalone

## Quick Start
**Invoke this skill when:**
- Developing PHP 8.2+ applications
- Working with Composer packages
- Implementing PSR standards
- Optimizing PHP performance
- Modernizing legacy PHP

**Do NOT invoke when:**
- Laravel-specific development → use `/laravel-specialist`
- WordPress development → use `/wordpress-master`
- General API design → use `/api-designer`
- Database design → use `/database-administrator`

## Decision Framework
```
PHP Project Type?
├── Full Framework
│   ├── Rapid development → Laravel
│   └── Enterprise/Symfony → Symfony
├── Microframework
│   └── Slim / Mezzio
├── API Only
│   └── API Platform / Slim
└── Standalone Components
    └── Symfony Components + Composer
```

## Core Workflows

### 1. Modern PHP Setup
1. Install PHP 8.2+ with required extensions
2. Initialize Composer project
3. Configure PSR-4 autoloading
4. Set up coding standards (PHP-CS-Fixer, PHPStan)
5. Configure error handling
6. Implement dependency injection

### 2. PHP 8.2+ Feature Usage
1. Use readonly classes for DTOs
2. Apply enums for fixed value sets
3. Leverage attributes for metadata
4. Use named arguments for clarity
5. Implement intersection types
6. Apply null-safe operator

### 3. Performance Optimization
1. Enable OPcache with proper settings
2. Use preloading for stable code
3. Implement JIT where beneficial
4. Profile with Xdebug/Blackfire
5. Optimize database queries
6. Implement caching layers

## Best Practices
- Use strict types in all files (`declare(strict_types=1)`)
- Follow PSR-12 coding standards
- Use type hints for all parameters and returns
- Leverage Composer for autoloading
- Use PHPStan or Psalm for static analysis
- Write tests with PHPUnit or Pest

## Anti-Patterns
| Anti-Pattern | Problem | Correct Approach |
|--------------|---------|------------------|
| No type hints | Runtime errors | Use strict types |
| Global state | Hard to test | Dependency injection |
| Manual autoloading | Error-prone | Composer autoload |
| Suppressing errors (@) | Hidden bugs | Handle errors properly |
| No static analysis | Type bugs | PHPStan/Psalm |

Overview

This skill provides expert guidance for building and modernizing PHP applications using PHP 8.2+ features, Composer, and enterprise-grade architecture. It focuses on practical patterns, performance tuning, and Composer-driven workflows to deliver maintainable, testable, and high-performance PHP code. Use it when you need concrete recommendations for modernizing legacy code, optimizing runtime behavior, or designing modular PHP systems.

How this skill works

The skill inspects your project type and recommends an appropriate decision path: full framework, microframework, API-only, or standalone components. It guides setup tasks (PHP installation, Composer init, PSR-4 autoload), recommends PHP 8.2+ language features (readonly, enums, attributes), and prescribes performance actions (OPcache, preloading, profiling). It also provides actionable best-practices for static analysis, testing, and dependency injection.

When to use it

  • Starting or modernizing a PHP 8.2+ project
  • Introducing Composer and PSR autoloading into a codebase
  • Applying PHP 8.2 language features (readonly, enums, attributes)
  • Optimizing runtime performance (OPcache, preloading, profiling)
  • Implementing enterprise patterns and dependency injection
  • Building APIs or using Symfony components standalone

Best practices

  • declare(strict_types=1) in all files and use explicit type hints
  • Follow PSR-12 and PSR-4 for coding style and autoloading
  • Use Composer for dependency management and autoloading, avoid manual loaders
  • Run static analysis with PHPStan or Psalm before merging changes
  • Write tests with PHPUnit or Pest and run CI checks on every PR
  • Use dependency injection and avoid global state for testability

Example use cases

  • Modernize a legacy PHP app by introducing strict types, PSR-4, and static analysis
  • Build a microservice using Slim or Mezzio and Composer-managed Symfony components
  • Optimize production performance by enabling OPcache, adding preloading, and profiling hotspots
  • Design an enterprise API with clear DTOs (readonly), enums for fixed sets, and attributes for metadata
  • Migrate a monolith to component-based architecture using Composer and PSR interfaces

FAQ

When should I use readonly vs value objects?

Use readonly for simple immutable DTOs to carry data. For domain logic and invariants, implement explicit value objects with validation and behavior.

How do I choose between preloading and JIT?

Enable OPcache and preloading first for consistent performance improvements on stable code. Consider JIT only for CPU-bound workloads after profiling shows CPU-bound bottlenecks.