Symfony is a powerful PHP framework that follows the Model-View-Controller (MVC) architecture. Here are its core concepts explained:

1. Service Container ⚙️

The service container (also called the Dependency Injector) manages classes, interfaces, and their dependencies. It allows you to configure and retrieve services easily.

Service Container
👉 [Learn more about service configuration](/en/categories/tech/software/php/symfony/service_configuration)

2. Event System ⚡

Symfony's EventDispatcher lets you decouple components by listening to and triggering events. For example, you can modify the response before it's sent to the client.

Event Dispatcher
💡 [Explore Symfony's event system in-depth](/en/categories/tech/software/php/symfony/event_system)

3. Dependency Injection 📦

Instead of hardcoding dependencies, Symfony uses DI to inject them dynamically. This promotes loose coupling and testability.

Dependency Injection
🔗 [Understand DI in Symfony](/en/categories/tech/software/php/symfony/dependency_injection)

4. Routing 🧭

Symfony maps URLs to controllers using routes. You can define routes in YAML, XML, or annotations.

Routing in PHP
📌 [Master Symfony routing](/en/categories/tech/software/php/symfony/routing_guide)

5. Security 🔒

Built-in security features handle authentication, authorization, and CSRF protection. Use security.yaml to configure roles and access control.

Symfony Security
🛡️ [Secure your Symfony app](/en/categories/tech/software/php/symfony/security_best_practices)

6. Bundle System 📦

Bundles are reusable modules that add functionality to your Symfony app. The core bundles include FrameworkBundle, SecurityBundle, and DoctrineBundle.

Symfony Bundle
📦 [Create your own Symfony bundle](/en/categories/tech/software/php/symfony/bundle_development)

For a deeper dive into these concepts, check out the Symfony documentation or our Symfony tutorials. 🚀