laravel - jiedara.comjiedara.com/assets/pdf/formation-laravel.pdf · liste non exhaustive des...

22
LARAVEL Framework - Capacités - Implémentation

Upload: lamcong

Post on 16-Mar-2018

224 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: LARAVEL - jiedara.comjiedara.com/assets/pdf/formation-laravel.pdf · Liste non exhaustive des capacités de Laravel 5 : - Routage des vues et des controleurs dans le fichier \App\routes.php

LARAVELFramework - Capacités - Implémentation

Page 2: LARAVEL - jiedara.comjiedara.com/assets/pdf/formation-laravel.pdf · Liste non exhaustive des capacités de Laravel 5 : - Routage des vues et des controleurs dans le fichier \App\routes.php

LARAVELFramework - Capacités - Implémentation

Pour ses objets de migrations de base

Pour ses lignes de commandes : CLI artisan

Pour son MVC aux petits oignons

Pour son ORM (Object-Role Modeling) : Eloquent

Pour son routing d’URL

Pour sa flexibilité dans le projet

Pour le retour d’une POO en PHP

Pour son moteur de template : Blade

Pour sa rapidité (et son poids)

2

Page 3: LARAVEL - jiedara.comjiedara.com/assets/pdf/formation-laravel.pdf · Liste non exhaustive des capacités de Laravel 5 : - Routage des vues et des controleurs dans le fichier \App\routes.php

Framework- Ecriture et lecture simple :

- Moteur de template Blade :

- Invite de commande Artisan :

3

Page 4: LARAVEL - jiedara.comjiedara.com/assets/pdf/formation-laravel.pdf · Liste non exhaustive des capacités de Laravel 5 : - Routage des vues et des controleurs dans le fichier \App\routes.php

Framework- 4 dossiers principaux :

Modèles : \App\*Controleurs : \App\Http\*Vues : \resources\*Assets : \public\*

- 2 dossiers de configuration :

Principal : \.envAutre : \config\*

- 1 dossier pour la BDD :

Migrations : \database\*

4

Page 5: LARAVEL - jiedara.comjiedara.com/assets/pdf/formation-laravel.pdf · Liste non exhaustive des capacités de Laravel 5 : - Routage des vues et des controleurs dans le fichier \App\routes.php

FrameworkErreurs :

Des retours d’erreurs formatés, avec toutes les infos nécessaires.Pour voir ses merdes dans de bonnes conditions !

5

Page 6: LARAVEL - jiedara.comjiedara.com/assets/pdf/formation-laravel.pdf · Liste non exhaustive des capacités de Laravel 5 : - Routage des vues et des controleurs dans le fichier \App\routes.php

FrameworkDebug :Pour pleurer devant des tableaux illisibles ...

En plus des débugs classiques ( ou )Laravel propose un outil de débug interne :

Le correspond à un suivi d’un

6

Page 7: LARAVEL - jiedara.comjiedara.com/assets/pdf/formation-laravel.pdf · Liste non exhaustive des capacités de Laravel 5 : - Routage des vues et des controleurs dans le fichier \App\routes.php

FrameworkNamespacing :Comme les kinders, mais en mieux !

L’un des fondements de la POO, l’encapsulation :

7

Page 8: LARAVEL - jiedara.comjiedara.com/assets/pdf/formation-laravel.pdf · Liste non exhaustive des capacités de Laravel 5 : - Routage des vues et des controleurs dans le fichier \App\routes.php

Capacités(route)

Liste non exhaustive des capacités de Laravel 5 :

- Routage des vues et des controleurs dans le fichier \App\routes.php (écritures d’URL):

Correspond à définir les adresses- \article- \article\{id}- \article\{id}\edit- \article\create

8

Page 9: LARAVEL - jiedara.comjiedara.com/assets/pdf/formation-laravel.pdf · Liste non exhaustive des capacités de Laravel 5 : - Routage des vues et des controleurs dans le fichier \App\routes.php

Capacités(middleware)

- Les middlewares !

9

Page 10: LARAVEL - jiedara.comjiedara.com/assets/pdf/formation-laravel.pdf · Liste non exhaustive des capacités de Laravel 5 : - Routage des vues et des controleurs dans le fichier \App\routes.php

Capacités(controller)

- Expérience utilisateur

Différentes méthodes pour gérer les redirections, les retours d’erreurs, les sessions/cookies :

- Redirect page

- Redirect view

- Erreurs

10

Page 11: LARAVEL - jiedara.comjiedara.com/assets/pdf/formation-laravel.pdf · Liste non exhaustive des capacités de Laravel 5 : - Routage des vues et des controleurs dans le fichier \App\routes.php

Capacités(model)

- Liaisons dans la BDD (hasMany / belongsTo) :

Une table dépend d’une autre (belongsTo)

Une table en possède une autre (hasMany)

11

Page 12: LARAVEL - jiedara.comjiedara.com/assets/pdf/formation-laravel.pdf · Liste non exhaustive des capacités de Laravel 5 : - Routage des vues et des controleurs dans le fichier \App\routes.php

Capacités(controller)

- ORM Eloquent :I’m an Eloquent

Construire simplement ses requètes.

12

Page 13: LARAVEL - jiedara.comjiedara.com/assets/pdf/formation-laravel.pdf · Liste non exhaustive des capacités de Laravel 5 : - Routage des vues et des controleurs dans le fichier \App\routes.php

Capacités(model)

- Getter / Setter :

Créer ou modifier des attributs de l’objet après l’accès en base

13

Page 14: LARAVEL - jiedara.comjiedara.com/assets/pdf/formation-laravel.pdf · Liste non exhaustive des capacités de Laravel 5 : - Routage des vues et des controleurs dans le fichier \App\routes.php

Capacités(model)

- Event :

Dès qu’une action se produit (suppression, modification, création)

14

Page 15: LARAVEL - jiedara.comjiedara.com/assets/pdf/formation-laravel.pdf · Liste non exhaustive des capacités de Laravel 5 : - Routage des vues et des controleurs dans le fichier \App\routes.php

Capacités(autres)

- Gestion de différents espaces disques

- Objet de Mailer intégré

- Objet de Tests unitaires intégré

- Mise en cache automatique

- Service Providers / Façades

- Outil de localisation pour multilingue15

Page 16: LARAVEL - jiedara.comjiedara.com/assets/pdf/formation-laravel.pdf · Liste non exhaustive des capacités de Laravel 5 : - Routage des vues et des controleurs dans le fichier \App\routes.php

ImplémentationPrérequis :

- Composer pour toutes les dépendances

- PHP >= 5.5.9

- OpenSSL PHP Extension

- PDO PHP Extension

- Mbstring PHP Extension

- Tokenizer PHP Extension 16

Page 17: LARAVEL - jiedara.comjiedara.com/assets/pdf/formation-laravel.pdf · Liste non exhaustive des capacités de Laravel 5 : - Routage des vues et des controleurs dans le fichier \App\routes.php

ImplémentationComposer :

Créer le projet :

Configuration :

Tout se trouve dans le dossier \config\*

Générer la clé d’application du .env :

17

Page 18: LARAVEL - jiedara.comjiedara.com/assets/pdf/formation-laravel.pdf · Liste non exhaustive des capacités de Laravel 5 : - Routage des vues et des controleurs dans le fichier \App\routes.php

ImplémentationVia l’invite de commande

Le premier modèle :

Premier controleur :

Première entrée en base :

La première vue \resources\app.blade.php:

18

Page 19: LARAVEL - jiedara.comjiedara.com/assets/pdf/formation-laravel.pdf · Liste non exhaustive des capacités de Laravel 5 : - Routage des vues et des controleurs dans le fichier \App\routes.php

ImplémentationListe de quelques modules Laravel pertinent :

Outils non intégrés par défaut, mais qui valent le coup :

- Barryvdh Debugbar : Barre d’info (nombre de vues, de requêtes, temps d’execution, route utilisée)

19

Page 20: LARAVEL - jiedara.comjiedara.com/assets/pdf/formation-laravel.pdf · Liste non exhaustive des capacités de Laravel 5 : - Routage des vues et des controleurs dans le fichier \App\routes.php

Implémentation

- Intervention : Gestion d’image en PHP

- Gravatar : Avatars via … Gravatar. no joke

- Beaucoup d’autres, à trouver par vous même !

20

Page 21: LARAVEL - jiedara.comjiedara.com/assets/pdf/formation-laravel.pdf · Liste non exhaustive des capacités de Laravel 5 : - Routage des vues et des controleurs dans le fichier \App\routes.php

LARAVELA retenir

L’invite de commande Artisan pour créer des migrations, des modèles et des controleurs.

Utiliser les migrations pour tenir une BDD propre et à jour.

Optimiser ses requêtes avec Eloquent.

Respecter le MVC et ne pas hésiter à fragmenter les vues Blade pour garder le code lisible.

Lire la doc … et quelques sites utiles, comme laracast.com ou laravel.io.Aussi la formation Laravel de Graphikart :)

21

Page 22: LARAVEL - jiedara.comjiedara.com/assets/pdf/formation-laravel.pdf · Liste non exhaustive des capacités de Laravel 5 : - Routage des vues et des controleurs dans le fichier \App\routes.php

Merci

Martin Villanove

Développeur Web chez Bulko

[email protected] 86 81 00 44

22