
Doctrine ORM - Les bases
Entities, annotations, EntityManager, repositories, DQL, QueryBuilder, relationships
1Qu'est-ce que Doctrine ORM dans le contexte de Symfony ?
Qu'est-ce que Doctrine ORM dans le contexte de Symfony ?
Réponse
Doctrine ORM est un Object-Relational Mapper qui permet de manipuler des données de base de données via des objets PHP. Il abstrait les requêtes SQL en fournissant une couche objet, rendant le code plus maintenable et portable entre différents systèmes de gestion de bases de données. C'est l'ORM par défaut recommandé avec Symfony.
2Quel attribut PHP 8 utiliser pour déclarer une classe comme entité Doctrine ?
Quel attribut PHP 8 utiliser pour déclarer une classe comme entité Doctrine ?
Réponse
L'attribut #[ORM\Entity] est utilisé pour indiquer à Doctrine qu'une classe PHP est une entité mappée à une table de base de données. Cet attribut remplace les annotations en commentaires et fait partie du namespace Doctrine\ORM\Mapping. Il peut être combiné avec repositoryClass pour spécifier un repository personnalisé.
3Comment définir une colonne auto-incrémentée comme clé primaire dans une entité Doctrine ?
Comment définir une colonne auto-incrémentée comme clé primaire dans une entité Doctrine ?
Réponse
Pour définir une clé primaire auto-incrémentée, il faut combiner deux attributs : #[ORM\Id] pour marquer la propriété comme identifiant, et #[ORM\GeneratedValue] pour indiquer que la valeur sera générée automatiquement par la base de données. La stratégie par défaut est AUTO, qui choisit la méthode appropriée selon le SGBD.
Quelle est la différence entre persist() et flush() dans EntityManager ?
Quel attribut utiliser pour mapper une propriété string à une colonne VARCHAR en Doctrine ?
+22 questions d'entretien
Autres sujets d'entretien Symfony
PHP Moderne (8.1+)
Les bases de Symfony
Routing & Controllers
Twig & Templates
Formulaires Symfony
Validation de données
Dependency Injection & Services
Security & Authentication
Doctrine avancé
API Platform
Serializer Component
Events & Event Subscribers
Console & Commands
Messenger Component
HTTP Client
Cache & Performance
Workflow Component
Testing Symfony
Mailer Component
Translations & i18n
EasyAdmin Bundle
Architecture Symfony
Performance & Optimisation
Sécurité avancée
Custom Bundles
Microservices avec Symfony
Real-time & WebSockets
Deployment & DevOps
Maîtrise Symfony pour ton prochain entretien
Accède à toutes les questions, flashcards, tests techniques, exercices de code review et simulateurs d'entretien.
Commencer gratuitement