Notre première page avec Laravel

Article mis à jour il y a 5 ans pour Laravel 5.7

Maintenant que toutes les dépendances de Laravel sont installées il est temps de créer notre première page.

Dans ce tutoriel nous allons apprendre comment fonctionne le routage avec Laravel ainsi que l'affichage d'un texte à l'écran.

Où passe ma requête ?

Avant de commencer cette leçon, n'oubliez pas de lancer dans un terminal la commande php artisan serve.

Que se passe-t-il quand vous visitez http://locahost:8000 ?

Tout d'abord, Laravel va lire votre fichier de routes. Ce fichier est situé dans routes/web.php. Dans ce fichier, nous déclarons que les requêtes de type GET sur / doivent exécuter la fonction anonyme suivante :

function () {
    return view('welcome');
}

Quelques petites précisions à ce niveau :

La fonction anonyme

C'est une simple fonction PHP. Vous pouvez y exécuter ce que vous souhaitez. Pour afficher quelque chose dans la page web, il suffit de le retourner. Par exemple, nous pouvons écrire :

Route::get('/', function () {
    $a = 1 + 4;

    return $a;
});

La page http://localhost:8000 affichera maintenant « 5 ».

Retourner une vue

Dans l'architecture MVC, nous appelons nos fichiers HTML des « vues ». Nous pouvons retourner un fichier HTML en retournant return view('welcome'). « welcome » correspond au nom du fichier. Nous pouvons le retrouver dans ressources/views/welcome.blade.php. Nous verrons dans un futur tutoriel l'utilité du .blade.php, pour le moment, nos vues contiendront uniquement du HTML.

Route::get('/', function () {
    return view('welcome');
});

Nous pouvons modifier la vue et remplacer le titre « Laravel » par « Bonjour ». Vous devriez voir le changement sur http://localhost:8000. Vous pouvez également modifier totalement le fichier welcome.blade.php pour y mettre ce que souhaitez.

Créer une nouvelle route

Nous pouvons créer une nouvelle route en ajoutant, à la suite de la route existante du fichier routes/web.php :

Route::get('/', function () {
    return view('welcome');
});

Route::get('/contact', function () {
    return 'Contact';
});

Le texte « Contact » devrait s'afficher sur la page http://localhost:8000/contact. Vous pouvez remplacer return 'Contact'; par return view('contact'); puis créer le fichier ressources/views/contact.blade.php avec le HTML de votre choix.