Laravel - Modèles de lames

Laravel 5.1 introduit le concept d'utilisation Blade, un moteur de création de modèles pour concevoir une mise en page unique. La mise en page ainsi conçue peut être utilisée par d'autres vues et comprend une conception et une structure cohérentes.

Comparé aux autres moteurs de création de modèles, Blade est unique des manières suivantes:

  • Cela n'empêche pas le développeur d'utiliser du code PHP brut dans les vues.

  • Les vues de lames ainsi conçues sont compilées et mises en cache jusqu'à ce qu'elles soient modifiées.

La structure complète des répertoires de Laravel est montrée dans la capture d'écran donnée ici.

Vous pouvez observer que toutes les vues sont stockées dans le resources/views répertoire et la vue par défaut du framework Laravel est welcome.blade.php.

Veuillez noter que d'autres modèles de lames sont également créés de la même manière.

Étapes de création d'une disposition de modèle de lame

Vous devrez utiliser les étapes suivantes pour créer une disposition de modèle de lame -

Étape 1

  • Créez un dossier de mise en page dans le resources/viewsdossier. Nous allons utiliser ce dossier pour stocker toutes les mises en page ensemble.

  • Créer un nom de fichier master.blade.php qui aura le code suivant associé -

<html>
   <head>
      <title>DemoLaravel - @yield('title')</title>
   </head>
   <body>
      @yield('content')
   </body>
</html>

Étape 2

Dans cette étape, vous devez étendre la mise en page. L'extension d'une mise en page implique la définition des éléments enfants. Laravel utilise leBlade @extends directive pour définir les éléments enfants.

Lorsque vous étendez une mise en page, veuillez noter les points suivants -

  • Les vues définies dans la disposition de la lame injectent le conteneur d'une manière unique.

  • Différentes sections de vue sont créées en tant qu'éléments enfants.

  • Les éléments enfants sont stockés dans le dossier des modèles en tant que child.blade.php

Un exemple qui montre l'extension de la mise en page créée ci-dessus est montré ici -

@extends('layouts.app')
@section('title', 'Page Title')
@section('sidebar')
   @parent
<p>This refers to the master sidebar.</p>
@endsection
@section('content')
<p>This is my body content.</p>
@endsection

Étape 3

Pour implémenter les éléments enfants dans les vues, vous devez définir la mise en page comme vous le souhaitez.

Observez la capture d'écran illustrée ici. Vous pouvez constater que chacun des liens mentionnés dans la page de destination sont des hyperliens. Veuillez noter que vous pouvez également les créer en tant qu'éléments enfants à l'aide de modèles de lames en utilisant la procédure ci-dessus.