Cours Laravel 5.5 – les données – les assistants
Mardi 3 octobre 2017 16:31
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. Il est ainsi apparu un certain nombre d'outils plus ou moins spécialisés pour faire gagner du temps dans le développement d'un 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.
Laravel Schema Designer
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 : Il sait très bien gérer les relations : 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
InfyOm
InfyOm est un superbe générateur : Il permet de générer :- modèle
- repository
- migrations
- requêtes
- api
- CRUD vues avec la validation
MySQL Workbench Export
MySQL Workbench est un superbe outil pour gérer une base MySQL : Avec le "reverse ingeneer" on peut récupérer le schéma d'un base existante : 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 : Sans passer par le Workbench il existe aussi un package qui permet de générer des migrations à partir d'une base existante.Il n'y a pas qu'Eloquent
Même si Eloquent est performant on a d'autres choix, en particulier Doctrine et MOngoDB.Laravel Doctrine
Le package Laravel Doctrine permet d'utiliser Doctrine avec Laravel : 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 les 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.Laravel MongoDB
Le package Laravel MongoDB permet d'utiliser MongoDB avec Laravel : 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.En résumé
- Il existe de nombreux outils et packages pour facilité 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.
Par bestmomo
Aucun commentaire