Utilisation des classes d'entités de doctrine pour les vues de base de données dans Symfony 2
Dans les scénarios où vous disposez d'une table de visualisation et souhaitez récupérer les données d'une classe d'entité sans avoir besoin de sauvegarder opérations, il est possible d'établir une classe d'entité spécifiquement à cet effet.
Configuration des classes d'entités pour les vues
Pour créer une classe d'entité qui récupère les données d'une vue de base de données dans Symfony 2, suivez ces étapes :
-
Marquer l'entité en lecture seule :
Indiquez l'entité en lecture seule en ajoutant @ORMEntity(readOnly=true) à la définition de la classe. Cela garantit que l'entité ne peut pas être modifiée et est utilisée uniquement à des fins de lecture.
-
Définir un constructeur privé :
Définissez le constructeur sur privé (par exemple, fonction privée __construct() {} ), limitant la création d'instances à Doctrine. Cela empêche la création accidentelle d'objets par un code externe.
-
Définir les informations de la table :
Utilisez l'annotation @ORMTable pour spécifier le nom de la table correspondant à la vue. Par exemple, @ORMTable(name="your_view_table").
Exemple de classe d'entité
Vous trouverez ci-dessous un exemple de classe d'entité qui suit les directives susmentionnées :
<code class="php"><?php
/**
* @ORM\Entity(readOnly=true)
* @ORM\Table(name="your_view_table")
*/
class YourEntity {
private function __construct() {}
}</code>
Copier après la connexion
Considérations supplémentaires
La réponse acceptée fournit une solution appropriée. Cependant, considérez ces suggestions supplémentaires :
- Marquez l'entité en lecture seule pour clarifier son objectif en tant que classe d'accès aux données.
- Utilisez un constructeur privé pour limiter la création d'objets à Doctrine, améliorer la sécurité et le contrôle.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!