Cours pour apprendre à utiliser le framework Laravel 5.5

Les données


précédentsommaire

XI. Les assistants

Laravel est équipé d'Artisan qui simplifie bien des tâches mais malgré ses possibilités étendues il ne sait quand même pas tout faire. Un certain nombre d’outils plus ou moins spécialisés ont été créés pour faire gagner du temps dans le développement d'une application. Je vous propose dans ce chapitre un petit tour d'horizon de ce qui existe actuellement en faisant une sélection assez étroite. Pour avoir une vue complète de ce qui est disponible allez voir cette page.

XI-A. Laravel Schema Designer

Image non disponible

Laravel Schema Designer est sans doute l'outil que j'utilise le plus. Il propose une interface graphique conviviale pour construire le schéma d'une base de données avec des formulaires bien conçus :

Image non disponible

Il sait très bien gérer les relations :

Image non disponible

Et il les représente visuellement avec des traits entre les tables.

Lorsque le schéma est construit on peut ensuite exporter :

  • routes ;
  • modèles ;
  • contrôleurs ;
  • migrations ;
  • populations (seed) ;
  • vues.

Autrement dit on se retrouve avec une trame de base déjà bien élaborée !

Un concurrent est apparu récemment : Laravel Database Designer :

Image non disponible

Il est plus esthétique mais ne génère pas grand-chose…

XI-B. InfyOm

InfyOm est un superbe générateur :

Image non disponible

Il permet de générer :

  • modèle ;
  • repository ;
  • migrations ;
  • requêtes ;
  • API ;
  • CRUD vues avec la validation.

Je lui ai consacré un article complet sur ce blog et je ne vais donc pas m'étendre ici.

XI-C. MySQL Workbench Export

MySQL Workbench est un superbe outil pour gérer une base MySQL :

Image non disponible

Avec le « reverse engineer » on peut récupérer le schéma d'un base existante :

Image non disponible

Mais ce qui est intéressant c'est qu'il existe un plugin pour faire l'inverse !

Un fois qu'on l'a installé on peut entre autres exporter les migrations :

Image non disponible

Sans passer par le Workbench il existe aussi un package qui permet de générer des migrations à partir d'une base existante.

XI-D. Il n'y a pas qu'Eloquent

Même si Eloquent est performant on a d'autres choix, en particulier Doctrine et MongoDB.

XI-D-1. Laravel Doctrine

Le package Laravel Doctrine permet d'utiliser Doctrine avec Laravel :

Image non disponible

Eloquent respecte le pattern « Active Record » (en gros un enregistrement dans une table est traité comme un objet par Eloquent). Doctrine est lui fondé sur le pattern « Data Mapper » (il y a une couche intermédiaire entre la base et les objets). Sans entrer dans le débat entre les amateurs de l'un et de l'autre on va dire qu'Eloquent est fortement couplé à la base alors que Doctrine sépare bien les aspects persistance et entités.

Donc si vous voulez essayer Doctrine ou si vous êtes déjà convaincu (par exemple parce que vous venez du monde Symfony) alors utilisez ce package.

XI-D-2. Laravel MongoDB

Le package Laravel MongoDB permet d'utiliser MongoDB avec Laravel :

Image non disponible

MongoDB permet une approche NoSQL. C'est assez dépaysant quand on a l'habitude d'utiliser SQL. Les informations ne sont plus sagement rangées dans des lignes d'une table mais dans des documents JSON. Il y a pas mal de tutoriels d'introduction, par exemple celui-ci.

XI-E. En résumé

  • Il existe de nombreux outils et packages pour faciliter l'écriture du code avec Laravel.
  • Laravel Schema Designer permet de générer du code à partir d'une construction visuelle d'une base de données.
  • InfyOm est un générateur très complet fonctionnant principalement en ligne de commande.
  • Un plugin de MySQL Workbench permet de générer des migrations.
  • Deux packages permettent d'utiliser Doctrine ou MongoDB avec Laravel.

précédentsommaire

Vous avez aimé ce tutoriel ? Alors partagez-le en cliquant sur les boutons suivants : Viadeo Twitter Facebook Share on Google+   

  

Copyright © 2018 Laravel. Aucune reproduction, même partielle, ne peut être faite de ce site ni de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.