symfony/lts
Symfony LTS provides long-term support releases of the Symfony framework, delivering extended security and bug fixes for stable production apps. Ideal for teams needing predictable upgrade cycles, maintained components, and a supported baseline over multiple years.
Installation: Add the package to your project via Composer:
composer require symfony/lts --dev
This is typically used in a development environment to enforce LTS (Long-Term Support) versions of Symfony components.
First Use Case:
composer.json:
{
"require-dev": {
"symfony/lts": "^1.0"
},
"config": {
"allow-plugins": {
"symfony/lts": true
}
}
}
composer update to trigger version checks.Where to Look First:
composer.json for enforced Symfony component versions.composer.lock for violations after updates.Enforcing LTS Versions:
composer.json:
"extra": {
"symfony-lts": {
"components": ["framework-bundle", "http-kernel"],
"versions": ["^6.4"]
}
}
composer update to auto-correct or block incompatible versions.CI/CD Pipeline:
# Example GitHub Actions step
- name: Enforce LTS versions
run: composer validate --strict --no-check-publish
Team Collaboration:
CONTRIBUTING.md or README.md.Legacy Projects:
False Positives:
symfony/debug-bundle) as violations if not explicitly whitelisted.extra.symfony-lts.ignore.Lockfile Conflicts:
composer update with the package may fail silently if composer.lock has outdated entries.composer.lock and run composer install to regenerate it.Plugin Conflicts:
dealerdirect/phpcodesniffer-composer-installer) may interfere.composer.json or use --no-plugins for debugging.Symfony Flex Compatibility:
config/bundles.php if needed.Dry Runs:
Use --dry-run to preview changes:
composer update --dry-run
Verbose Output: Enable debug mode for detailed logs:
composer update -v
Custom Validation: Extend the package’s logic by creating a custom Composer script:
"scripts": {
"post-update-cmd": "php vendor/bin/symfony-lts-check"
}
Custom Rules:
Override default LTS checks by extending the package’s SymfonyLtsPlugin class in a custom plugin.
Integration with PHPStan:
Use phpstan/extension-installer to auto-load the package’s rules:
composer require --dev phpstan/extension-installer
Git Hooks: Add a pre-commit hook to block non-LTS commits:
composer require --dev dealerdirect/phpcodesniffer-composer-installer
How can I help you explore Laravel packages today?