Symfony Framework Development Skill
Instructions à Exécuter
IMPORTANT : Exécute ce workflow étape par étape :
Quick Start
Full web app
symfony new project_name --version="6.4.*" --webapp
API/Microservice
symfony new project_name --version="6.4.*"
Without CLI
composer create-project symfony/skeleton:"6.4.*" project_name
Core Patterns
Controller
-
Extend AbstractController
-
Use attributes for routing: #[Route('/path', name: 'route_name')]
-
Automatic entity parameter conversion
Services
-
Autowiring by default
-
Configure in config/services.yaml
Doctrine
-
Create entity: php bin/console make:entity
-
Create migration: php bin/console make:migration
-
Execute: php bin/console doctrine:migrations:migrate
Forms
-
Dedicated FormType classes
-
Handle in controller: createForm() , handleRequest() , isSubmitted() , isValid()
Security
-
Configure in config/packages/security.yaml
-
Use Voters for authorization
Essential Commands
php bin/console cache:clear php bin/console debug:router php bin/console debug:container php bin/console make:controller php bin/console make:crud Product
Best Practices
-
Use dependency injection
-
Prefer composition over inheritance
-
Keep controllers thin
-
Use DTOs for API input/output
-
Repository pattern for queries
-
Voters for authorization
-
Cache expensive operations
-
TDD for critical features
Deployment Checklist
-
APP_ENV=prod , APP_DEBUG=0
-
composer install --no-dev --optimize-autoloader
-
php bin/console cache:clear --env=prod
-
npm run build
-
php bin/console doctrine:migrations:migrate --env=prod
References
Pour détails avancés :
-
references/doctrine-advanced.md
-
ORM patterns
-
references/security-detailed.md
-
Security configs
-
references/api-platform.md
-
API Platform
-
references/testing-complete.md
-
Testing strategies
-
references/performance-tuning.md
-
Optimization