Maison >développement back-end >tutoriel php >Explication détaillée de l'utilisation des modèles Blade dans Laravel

Explication détaillée de l'utilisation des modèles Blade dans Laravel

黄舟
黄舟original
2017-09-09 10:06:092039parcourir

Blade est un moteur de modèles simple et puissant fourni par laravel. L'article suivant vous présente principalement les informations pertinentes sur l'utilisation des modèles Blade dans le framework Laravel. L'article le présente en détail à travers un exemple de code, ce qui est très utile. pour vos études ou votre travail. Il a une certaine valeur de référence et d’apprentissage. Les amis qui en ont besoin peuvent y jeter un œil ci-dessous.

Introduction

Blade ne vous empêche pas d'utiliser du code PHP natif dans les vues comme les autres moteurs de modèles PHP populaires, en fait, il suffit de compiler le Vue Blade dans le code PHP natif et mettez-le en cache. Le cache change lorsque la vue Blade change, ce qui signifie que Blade n'ajoute aucune charge de compilation à votre application. Les fichiers de vue Blade utilisent le suffixe .blade.php et sont généralement stockés dans le répertoire resources/views.

1. Héritage, fragment, espace réservé, composant, emplacement

1.1 Héritage

1.1.1 Définir le modèle parent


Laravel/resources/views/base.blade.php

1.1.2 Héritage du modèle enfant

Chemin : Laravel/resources/views /child .blade.php


@extends('base')

1.2 Fragment

1.2.1 Fragment de définition du modèle parent


@section('part')
// 中间内容即使一个片段
@show

1.2.2 Fragment de remplissage du sous-modèle


@section('part')

Contenu de remplissage du fragment


@endsection

1.3 Espace réservé

1.3.1 Espace réservé du modèle parent :


@yield('title')

1.3.2 Espace réservé de remplissage du sous-modèle

Le premier remplissage (texte) :


@section('title' , '填充的文本占位')

Le deuxième type de remplissage (texte ou html)


@section('title')

Espace réservé rempli


@endsection

1.4 Composants, slots

1.4.1 Définir les composants

Chemin : Laravel/resources/views/component.php


<p class=&#39;component&#39;>
 <!-- $title,$content 变量实际上就是预定义的插槽 -->
 <p class=&#39;title&#39;>{{ $title }}</p>
 <p class=&#39;content&#39;>{{ $content }}</p>
</p>
1.4.2 Utilisation du composant

Chemin : Laravel/resources/views/test.blade.php


@component(&#39;component&#39;)
 @slot(&#39;title&#39;)
  组件标题
 @endsolt
 
 @slot(&#39;content&#39;)
  组件内容
 @endslot
@endcomponent

2. Affichage des données

2.1 Sortie d'échappement


{{ $name }}
2.2 Sortie sans échappement



{!! $name !!}
2.3 Sortie au format original


Le premier type (convient à une petite quantité) :



@{{ name }}
Le deuxième type (convient à une grande quantité) :



@verbatim
{{ name }}
{{ sex }}
{{ age }}
@endverbatim

3. Contrôle des processus

3.1 pour

Remarque :

  • Il n'y a pas de variable $loop

  • Non @empty

  • Il y a @break

  • Il y a @continue


@for ($i = 0; $i < 10; ++$i)
 {{ $i }} <br />
@endfor

3.2 foreach

Remarque :

  • Là est une variable $loop

  • Non @empty

  • Il y a @break

  • Il y a @ continuer


@foreach ($data as $k => $v)
 {{ $k }} <br />
@endforeach

3.3 avant

Remarque :

  • a une variable $loop

  • doit avoir @empty

  • a @break

  • Il y a @continue


@foreach ($data as $k => $v)
 {{ $k }} <br />
@empty
Le tableau n'a pas de données



@endforeach

4. Utiliser PHP natif


@php 
echo "使用原生 PHP";
@endphp

5. Contenir des sous-vues

Remarque

  • La sous-vue incluse peut référencer toutes les variables définies par la vue parent.

  • Vous pouvez transmettre des données supplémentaires à la vue enfant

Définir la vue parent parent.blade.php et inclure la vue enfant child.blade .php, et transmettre des données supplémentaires


/**
 * 父视图
 * 父视图拥有变量 $name = &#39;chenxuelong&#39;
 */

<p class=&#39;parent&#39;>
 <p class=&#39;username&#39;>{{ $username }}</p>
 <p class=&#39;child&#39;>
  <!-- 包含子视图 -->
  @include(&#39;child&#39; , [
   &#39;other&#39; => &#39;额外数据&#39;
  ])
 </p>
</p>

/**
 * 子视图
 */
 <p class=&#39;username&#39;>{{ $username }}</p>
 <p class=&#39;other&#39;>{{ $other }}</p>

Résumé

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn