ely/php-code-style
Opinionated PHP-CS-Fixer rule set from Ely.by for PHP 7.4+ projects. Install alongside friendsofphp/php-cs-fixer, add a .php-cs-fixer.php using Ely\CS\Config, optionally override rules, then run php-cs-fixer to lint and fix code style.
Architecture fit: The package is a configuration wrapper for PHP-CS-Fixer with predefined rules based on PSR-2/PSR-12. It integrates seamlessly with standard PHP-CS-Fixer workflows but introduces a dependency on an external custom fixers repository (erickskrauch/php-cs-fixer-custom-fixers), creating a fragile dependency chain. While the core concept aligns with PHP code style enforcement, the reliance on unmaintained custom fixers (migrated to separate repo in v1.0.0) reduces architectural robustness.
Integration feasibility: Low friction for new projects (simple Composer install + config file), but high friction for existing codebases. Requires significant refactoring due to strict rules (e.g., brace placement, blank line requirements). The dry-run capability allows risk assessment before full adoption, but conflicts with existing custom rules may require manual resolution.
Technical risk: Critical risks include: 1) Zero dependents and low GitHub stars (4) indicate unproven production usage; 2) The separate custom fixers repository shows no activity since 2021; 3) Last release was July 2023 with no subsequent updates despite PHP 8.x adoption; 4) Potential for broken fixes due to deprecated/removed custom fixers (e.g., self_accessor removed in v0.4.0 due to interface errors).
Key questions: 1) What is the current maintenance status of the external custom fixers repository? 2) How does this config handle PHP 8.0+ features like union types or match expressions? 3) Are there known issues with the "align_multiline_parameters" fixer in complex codebases? 4) What is the rollback path if the config causes CI pipeline failures?
Stack fit: Works exclusively within PHP-CS-Fixer ecosystems. Ideal for greenfield projects but problematic for monorepos with mixed code styles. Incompatible with projects using alternative formatters (e.g., Prettier) or legacy PHP versions <7.4. The dependency on PHP-CS-Fixer ^3.16 limits compatibility with older toolchains.
Migration path: 1) Install package and PHP-CS-Fixer via Composer; 2) Replace existing .php-cs-fixer.php with provided config; 3) Run --dry-run to identify violations; 4) Address conflicts in phases (e.g., by rule category); 5) Use Git hooks for enforcement. Critical risk: The "blank_line_before_return" rule may require hundreds of manual changes in existing code.
Compatibility: Requires PHP 7.4+ and PHP-CS-Fixer ^3.16. Projects using older
How can I help you explore Laravel packages today?