Skillshub php-modernization

PHP Modernization Skill

install
source · Clone the upstream repo
git clone https://github.com/ComeOnOliver/skillshub
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/ComeOnOliver/skillshub "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/netresearch/php-modernization-skill/php-modernization" ~/.claude/skills/comeonoliver-skillshub-php-modernization && rm -rf "$T"
manifest: skills/netresearch/php-modernization-skill/php-modernization/SKILL.md
source content

PHP Modernization Skill

Modernize PHP applications to PHP 8.x with type safety, PSR compliance, and static analysis.

Expertise Areas

  • PHP 8.x: Constructor promotion, readonly, enums, match, attributes, union types
  • PSR/PER Compliance: Active PHP-FIG standards
  • Static Analysis: PHPStan (level 9+), PHPat, Rector, PHP-CS-Fixer
  • Type Safety: DTOs/VOs over arrays, generics via PHPDoc

Using Reference Documentation

PHP Version Features

When implementing PHP 8.0-8.5 features (constructor promotion, readonly properties, enums, match expressions, attributes), consult

references/php8-features.md
.

Standards Compliance

When ensuring PSR/PER compliance or configuring PHP-CS-Fixer with

@PER-CS
, consult
references/psr-per-compliance.md
for active PHP-FIG standards.

When configuring PHPStan levels or understanding level requirements, consult

references/phpstan-compliance.md
for level overview and production configuration.

Static Analysis Tools

When setting up PHPStan, PHPat, Rector, or PHP-CS-Fixer, consult

references/static-analysis-tools.md
for configuration examples and integration patterns.

Type Safety

When implementing type-safe code or migrating from arrays to DTOs, consult

references/type-safety.md
for type system strategies and best practices.

When creating request DTOs or handling safe integer conversion, consult

references/request-dtos.md
for DTO patterns and validation approaches.

Architecture Patterns

When implementing adapter registry patterns for multiple external services, consult

references/adapter-registry-pattern.md
for dynamic adapter instantiation from database configuration.

When using Symfony DI, events, or modern framework patterns, consult

references/symfony-patterns.md
for architecture best practices.

Migration Planning

When planning PHP version upgrades or modernization projects, consult

references/migration-strategies.md
for assessment phases, compatibility checks, and migration workflows.

Running Scripts

Project Verification

To verify a PHP project meets modernization requirements:

scripts/verify-php-project.sh /path/to/project

This script checks:

  • PHPStan level compliance
  • PHP-CS-Fixer configuration
  • Type declaration coverage
  • DTO usage patterns

Required Tools

When setting up a modernized PHP project, ensure these tools are configured:

ToolRequirement
PHPStanLevel 9 minimum, level 10 recommended
PHPatRequired for defined architectures
RectorRequired for automated modernization
PHP-CS-FixerRequired with
@PER-CS
ruleset

Core Rules

  • DTOs required over arrays for structured data
  • Backed enums required for fixed value sets (not constants)
  • PSR interfaces for type-hinting dependencies (PSR-3, PSR-6, PSR-7, PSR-11, PSR-14, PSR-18)

See

references/core-rules.md
for code examples and scoring criteria.

Migration Checklist

  • declare(strict_types=1)
    in all files
  • PER Coding Style via PHP-CS-Fixer (
    @PER-CS
    )
  • PHPStan level 9+ (level 10 for new projects)
  • PHPat architecture tests
  • Return types and parameter types on all methods
  • DTOs for data transfer, no array params/returns
  • Backed enums for all status/type values
  • Type-hint against PSR interfaces

Contributing: https://github.com/netresearch/php-modernization-skill