contao/easy-coding-standard
Adds Easy Coding Standard support for Contao projects, providing a ready-to-use ECS configuration and rules to enforce consistent PHP coding style and quality checks across your codebase, helping keep formatting and standards aligned in CI and local workflows.
contao/easy-coding-standard package is a pre-configured set of PHP Coding Standards (based on PHP-CS-Fixer and EasyCodingStandard) tailored for Contao CMS projects. It enforces PSR-12, Contao-specific conventions, and best practices for PHP code quality.easy-coding-standard).Contao\CodingStandard\Sniffs\Files\TemplateFileExtensionSniff (enforcing .tpl extensions) or Contao\CodingStandard\Sniffs\Classes\DcaClassNameSniff are irrelevant to Laravel and may require custom overrides.set() in ecs.php.easy-coding-standard CLI.| Risk Area | Severity | Mitigation Strategy |
|---|---|---|
| Irrelevant Rules | Medium | Disable Contao-specific rules via disabled: true in config. |
| Performance Overhead | Low | Rules run only on git pre-commit or CI. |
| False Positives | Medium | Test against Laravel codebase before adoption. |
| Dependency Bloat | Low | Use as a dev dependency only. |
symplify/easy-coding-standard base instead)?rules before adoption.Dca class naming) in a Laravel codebase?composer require --dev contao/easy-coding-standard
php artisan if configured in composer.json scripts.php-cs-fixer to identify gaps.contao/easy-coding-standard rules to prune irrelevant ones.ecs.php to disable Contao rules:
return EasyCodingStandardConfig::configure()
->withRules([
// Disable Contao-specific rules
new \Contao\CodingStandard\Sniffs\Files\TemplateFileExtensionSniff(),
])
->disableRule(\Contao\CodingStandard\Sniffs\Classes\DcaClassNameSniff::class);
.github/workflows/php.yml:
- name: Run EasyCodingStandard
run: vendor/bin/ecs check src tests
.blade.php) as invalid. Exclude them:
->withExcludedFiles('resources/views/**')
Dca rules may conflict with Laravel’s Facade pattern. Override or disable.phpstan/extension-installer to align static analysis with ECS rules.ecs check locally to identify false positives/negatives.ecs.php to align with Laravel’s needs.ecs fix.Dca naming) requires deep ECS knowledge.| Failure Mode | Impact | Mitigation |
|---|---|---|
| Overly Strict Rules | Blocks PRs unnecessarily. | Start with --allow-risky=yes flag. |
| Contao Rule Leakage | Laravel code fails ECS. | Disable rules via disabled: true. |
| CI Flakiness | False positives in CI. | Test locally before merging. |
| Tooling Version Drift | ECS/PHP-CS-Fixer conflicts. | Pin versions in composer.json. |
ecs check/ecs fix.ecs.php.How can I help you explore Laravel packages today?