Modele symfony

Un modèle contient des colonnes. La valeur de la colonne peut être définie de deux manières différentes: Si vous définissez un seul attribut, il s`agit du type de colonne. Symfony comprend les types de colonnes habituels: Boolean, Integer, float, date, String (Size), CLOB (converti, par exemple, en texte dans MySQL), et ainsi de suite. Pourquoi conserver deux versions du modèle d`objet de données dans deux répertoires différents? Une liste de commande disponible sera imprimée, dont beaucoup commencent par le préfixe doctrine:. Vous pouvez trouver plus d`informations sur l`une de ces commandes (ou toute commande symfony) en exécutant la commande d`aide. Par exemple, pour obtenir des détails sur la tâche doctrine: Database: Create, exécutez: Listing 8-4 présente un exemple de classe de modèle personnalisée telle que créée par le premier appel à la tâche doctrine: build-model. L`action crée un objet de la classe tag à partir du paramètre Request. Ensuite, tout le code nécessaire pour interroger la base de données se trouve dans une méthode getPopularArticles () de cette classe. Il rend l`action plus lisible, et le code de modèle peut facilement être réutilisé dans une autre action. Je tiens à mentionner: l`idée que “modèle de domaine anémique” = = = mauvais n`est pas aussi clair que vous pouvez penser. Juste parce que Martin Fowler a dit en 2003 qu`il n`aime pas ne signifie pas que cela est vrai pour toujours. Ce chapitre explique comment créer un modèle de données d`objet, ainsi que la façon d`accéder et de modifier les données dans doctrine.

Il démontre également l`intégration de doctrine dans symfony. Nous devons mapper nos modèles aux éléments de base de données relationnelles back-end pour récupérer et conserver les modèles en toute sécurité et efficacement. Ce mappage peut être fait avec un outil de mappage relationnel objet (ORM). Symfony fournit un bundle distinct, DoctrineBundle, qui intègre symfony avec l`outil d`ORM de base de données PHP de tiers, doctrine. La syntaxe de symfony pour les schémas utilise le format YAML. Les fichiers Schema. yml doivent se trouver dans le répertoire MyProject/config/doctrine. Symfony est livré avec un composant validateur qui rend cette tâche facile et transparente. Le but de la validation est de vous indiquer si les données d`un objet sont valides. Pour cela, nous configurerons une liste de règles (appelées contraintes) que l`objet doit suivre afin d`être valide. Ces règles peuvent être spécifiées via un certain nombre de formats différents (YAML, XML, annotations ou PHP). Un tout nouveau fichier Schema.

yml créé à partir de votre structure de base de données est généré dans le répertoire config/doctrine/. Vous pouvez créer votre modèle en fonction de ce schéma. Avouons-le, l`une des tâches les plus courantes et les plus difficiles pour toute application implique la persistance et la lecture des informations à partir d`une base de données. Heureusement, symfony est intégré à doctrine, une bibliothèque dont le seul but est de vous donner des outils puissants pour rendre cela facile. Dans ce chapitre, vous apprendrez la philosophie de base derrière doctrine et vous verrez comment travailler facilement avec une base de données peut être. Après la reconstruction du modèle, le modèle article a une colonne Slug qui est automatiquement définie sur une chaîne URL conviviale en fonction du titre. La couche modèle est la plus complexe du framework symfony. Une des raisons de cette complexité est que la manipulation des données est une question complexe.

back to top