php-modernization

Use when upgrading to PHP 8.1+, implementing type safety, configuring PHPStan/Rector/PHP-CS-Fixer, or modernizing PHP code with enums, DTOs, and readonly properties.

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "php-modernization" with this command: npx skills add netresearch/php-modernization-skill/netresearch-php-modernization-skill-php-modernization

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

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Security

security-audit

No summary provided by upstream source.

Repository SourceNeeds Review
General

php-modernization

No summary provided by upstream source.

Repository SourceNeeds Review
Research

git-workflow

No summary provided by upstream source.

Repository SourceNeeds Review