Want to make creations as awesome as this one?

Transcript

C'est quoi exactement ?

C'est quoi exactement ?

Commencer la présentation

C'est quoi exactement ?

C'est quoi exactement ?

Gallerie

YouTube

YouTube Music

Google Store

ENT UTC

AntiCovid

Présentation Larvel

Fichiers

C'est quoi exactement ?

Gallerie

YouTube

YouTube Music

Google Store

ENT UTC

AntiCovid

Présentation Larvel

Présentation Larvel

Fichiers

Pour commencer la présentation de Laravel cliquez sur :

Retour au menu de la tablette

C'est quoi exactement ?

Gallerie

YouTube

YouTube Music

Google Store

ENT UTC

AntiCovid

Présentation Larvel

Fichiers

C'est quoi exactement ?

Gallerie

YouTube

YouTube Music

Google Store

ENT UTC

AntiCovid

Présentation Larvel

Fichiers

C'est quoi exactement ?

Les origines

Les particularités technique

L'architecture du framework Laravel

L'utilitée d'utiliser un framwork

GO

GO

GO

GO

GO

Laravel 9

C'est quoi exactement ?

Laravel a été créé par Taylor Otwell en juin 20112.

Le référentiel Laravel/laravel présent sur le site GitHub il contient le code source des premières versions de Laravel. À partir de la cinquième version, le framework est développé au sein du référentiel Laravel/framework.
En peu de temps, une communauté d'utilisateurs du framework s'est constituée, et il est devenu en 2016 le projet PHP le mieux noté de GitHub. Laravel reste pourtant basé sur son grand frère Symfony, pour au moins 30 % de ses lignes

C'est quoi exactement ?

Le framework facilite la vie du projet en plus de réduire le temps de développement. Vous ne vous concentrez uniquement que sur ce que vous savez faire de mieux : votre métier et le développement des composants liés au métier avec ses règles de gestion et ses données.

C'est quoi exactement ?

Laravel est un framwork basé sur php mais orienté objet. La version la plus récente est la version 8, il luin faut au minimum la version 7.3 de php pour fonctionner.

Ce framwork est basé sur le modèle MVC (Modal View Controler). On peut aussi bénéficier de l'ORM Eloquent ainsi qu'un moteur de template qui est Blade. On aurra aussi Composer qui est un gestionnaire de dépendance PHP

MVC

ORM

Blade

C'est quoi exactement ?

Model

Controler

View

Client

  • Vue : cette partie se concentre sur l'affichage. Elle ne fait presque aucun calcul et se contente de récupérer des variables pour savoir ce qu'elle doit afficher. On y trouve essentiellement du code HTML mais aussi quelques boucles et conditions PHP très simples, pour afficher par exemple une liste de messages.

  • Modèle : cette partie gère les données de votre site. Son rôle est d'aller récupérer les informations « brutes » dans la base de données, de les organiser et de les assembler pour qu'elles puissent ensuite être traitées par le contrôleur. On y trouve donc entre autres les requêtes SQL.

  • Contrôleur : cette partie gère la logique du code qui prend des décisions. C'est en quelque sorte l'intermédiaire entre le modèle et la vue : le contrôleur va demander au modèle les données, les analyser, prendre des décisions et renvoyer le texte à afficher à la vue. Le contrôleur contient exclusivement du PHP. C'est notamment lui qui détermine si le visiteur a le droit de voir la page ou non (gestion des droits d'accès).

C'est quoi exactement ?

L'ORM Eloquant est programme informatique qui se

place en interface entre un programme applicatif et une base de données relationnelle pour simuler une base de données orientée objet. Ce programme définit des correspondances entre les schémas de la base de données et les classes du programme applicatif.

C'est quoi exactement ?

Blade est le moteur de template simple mais puissant inclus avec Laravel. Contrairement à certains moteurs de création de modèles PHP, Blade ne vous empêche pas d'utiliser du code PHP simple dans vos modèles. En fait, tous les modèles Blade sont compilés en code PHP simple et mis en cache jusqu'à ce qu'ils soient modifiés, ce qui signifie que Blade n'ajoute pratiquement aucune surcharge à votre application.

C'est quoi exactement ?

app

Le dossier app est le plus important car c’est celui-ci qui contient le projet (controllers, modeles, …).

bootstrap

Il contient des fichiers liés au lancement du Framework.

config

Ce dossier contient tous les fichiers de configuration de l’application (base de données, authentification, namespace, mails, …).

database

Il permet la gestion de la BD, le sous-dossier principal est le dossier de migration. Les fichiers migration permettent principalement de crée de tables.

public

Il contient tous les fichiers accessibles par les utilisateurs (images, …). Il contient également le fichier index.php qui est la porte d’entrée de l’application et le seul fichier PHP accessible de l’extérieur.

resources

Ce dossier contient les fichiers css, js, les fichiers de langue pour la traduction et également toutes les vues de l’application.

routes

Il contient le fichier web.php qui permet de définir toutes les routes de l’application.

storage

Ce dossier contient tous les fichiers générer par l’application (pdf, photos, …). Il contient également les logs.

test

Ce dossier contient les fichiers de tests unitaires.

vendor

Il contient toutes les dépendances PHP téléchargées par composer, il ne faut donc surtout pas y toucher.

Les dossiers

package.json

Contient toutes les dépendance JavaScript requises par l’application.

webpack.mix.js

Ce fichier permet de transformer des fichiers SASS en fichier CSS et permet également de compiler du JS.


server.php

Ce fichier permet à la commande « php artisan serve » de fonctionner. Ne pas y toucher

phpunit.xml

fichier permettant de lancer des tests unitaires et fonctionnels.

.styleci.yml

Permet de vérifier automatiquement les probèmes de style de code es nouveaux commits

artisan

Il permet de lancer des commandes lier à Laravel comme créer des modeles, lancer le serveur, créer des migrations

composer.json

Fichier contenant toutes les dépendances PHP requises par l’application (créer par composer)

composer.lock

Fichier généré automatiquement par composer il ne doit jamais être modifier à la main.

.env

Ce fichier contient les mots de passe des services de l’application ainsi que toutes les données sensibles de celle-ci (mot de passe BD, adresse BD, …). Il ne doit jamais être partagé.

.editorconfig

EditorConfig permet d'avoir des styles de codage uniformes dans différents éditeurs et EDI

.env.example

Ce fichier est le même que .env sauf qu’il contient des valeurs d’exemple afin de savoir les informations que l’on doit renseigner.

Les fichiers

C'est quoi exactement ?

GO

GO

GO

GO

Quels sont les changements majeurs de Laravel 9 comparé aux version précédente ?

Les accesseurs/mutateurs éloquents

Casting d'attributs éloquent d'Enum

Moteur de base de donnée Laravel Scout

Rendu des modèles Blade en ligne

C'est quoi exactement ?

Quels sont les changements majeurs de Laravel 9 comparé aux version précédente ?

Laravel 9.x offre une nouvelle façon de définir les accesseurs et mutateurs Eloquent. Dans les versions précédentes de Laravel, la seule façon de définir les accesseurs et les mutateurs était de définir des méthodes préfixées sur le modèle comme celui-ci et maintenant voici comment on fait

celui-ci

on fait

C'est quoi exactement ?

Quels sont les changements majeurs de Laravel 9 comparé aux version précédente ?

C'est quoi exactement ?

Quels sont les changements majeurs de Laravel 9 comparé aux version précédente ?

C'est quoi exactement ?

Quels sont les changements majeurs de Laravel 9 comparé aux version précédente ?

Eloquent permet maintenant de convertir les valeurs d'attributs en enums PHP. Pour ce faire, il est possible de spécifier l'attribut et l'enum souhaitez convertir dans le tableau de propriétés $casts du modèle

C'est quoi exactement ?

Quels sont les changements majeurs de Laravel 9 comparé aux version précédente ?

Si l’application interagit avec des bases de données de petite ou moyenne taille ou a une charge de travail légère, avec Laravel 9.0, il est maintenant possible d’utiliser le moteur de base de données de Scout au lieu d'un service de recherche dédié comme Algolia ou MeiliSerach.

C'est quoi exactement ?

Quels sont les changements majeurs de Laravel 9 comparé aux version précédente ?

Face au besoin de transformer une chaîne brute de modèle Blade en HTML valide, il est possible d’accomplir cela en utilisant la méthode de rendu fournie par la façade Blade. La méthode de rendu accepte la chaîne du modèle Blade et un tableau optionnel de données à fournir au modèle :