# Symfony — The PHP Framework for Reusable Components and Web Applications > A set of decoupled PHP components and a full-stack framework for building robust web applications and APIs. ## Install Save the content below to `.claude/skills/` or append to your `CLAUDE.md`: # Symfony — The PHP Framework for Reusable Components and Web Applications ## Quick Use ```bash composer create-project symfony/skeleton my-app cd my-app symfony server:start ``` ## Introduction Symfony is a PHP framework and a set of reusable components used by thousands of projects including Laravel, Drupal, and Magento. Created by SensioLabs in 2005, it follows a component-based architecture that lets developers use individual pieces or the full stack. ## What Symfony Does - Provides 50+ standalone components for routing, HTTP handling, security, and more - Generates full-stack web applications with MVC architecture - Offers a built-in profiler and debug toolbar for development - Handles dependency injection, event dispatching, and configuration automatically - Supports API development via API Platform integration ## Architecture Overview Symfony is built around an HTTP kernel that processes a Request object through an event-driven pipeline and returns a Response. Bundles package reusable functionality, while the dependency injection container wires services together. The framework uses a front-controller pattern where a single entry point (`index.php`) delegates to the router, which matches URLs to controller actions. Flex recipes automate bundle installation and configuration. ## Self-Hosting & Configuration - Requires PHP 8.2+ and Composer for dependency management - Configure services in `config/services.yaml` using autowiring by default - Environment variables are managed through `.env` files with per-environment overrides - Deploy with standard PHP hosting, Docker, or Platform.sh which has native Symfony support - Use `symfony check:requirements` to verify server compatibility ## Key Features - Long-term support releases with three years of bug fixes and four years of security patches - Maker bundle generates boilerplate for entities, controllers, and forms - Twig templating engine with automatic output escaping - Built-in security component handling authentication, authorization, and CSRF protection - Messenger component for async message processing with queues ## Comparison with Similar Tools - **Laravel** — More opinionated with Eloquent ORM and Blade templates; Symfony is more modular and component-oriented - **CakePHP** — Convention-over-configuration PHP framework; Symfony offers more flexibility with its decoupled components - **Spring Boot** — Similar enterprise focus but for Java; Symfony fills the same role in the PHP ecosystem - **Django** — Python counterpart with batteries-included philosophy; Symfony matches this with its component library ## FAQ **Q: What is the relationship between Symfony and Laravel?** A: Laravel uses many Symfony components internally (Console, HttpFoundation, Routing, etc.) but provides its own API and conventions on top. **Q: How long are Symfony versions supported?** A: Standard releases get eight months of support. LTS releases get three years of bug fixes and four years of security fixes. **Q: Can I use Symfony components without the full framework?** A: Yes. Each component is a standalone Composer package installable independently. **Q: Is Symfony suitable for APIs?** A: Yes. Combined with API Platform, Symfony can generate REST and GraphQL APIs with auto-documentation. ## Sources - https://github.com/symfony/symfony - https://symfony.com --- Source: https://tokrepo.com/en/workflows/symfony-php-framework-reusable-components-web-applications-c2e6dabf Author: Script Depot