Quelle est la différence entre Laravel @rendement et @include?
Je suis en train d'apprendre Laravel (à partir de la version 5.3), et les deux se ressemblent beaucoup, la seule différence, je sais, c'est que @include injecter du parent variables et peuvent également envoyer d'autres variables.
- Quelle est la différence entre @rendement et @include?
- Quand dois-je utiliser @rendement?
- Quand dois-je utiliser @include?
OriginalL'auteur Edson Horacio Junior | 2017-01-28
Vous devez vous connecter pour publier un commentaire.
@rendement est principalement utilisé pour définir une section dans une mise en page. Lorsque cette disposition est étendue avec @étend, vous pouvez définir ce qui se passe dans cette section avec le @section directive dans vos vues.
La mise en page contient généralement votre HTML, head, body, en-tête et pieds de page. Vous définissez une zone (@rendement) dans la mise en page de vos pages qui étend le modèle mis à leur contenu.
Dans votre modèle master, vous définissez la zone. Par exemple:
Permet de dire que votre page d'accueil s'étend mise en
N'importe quel code HTML de définir dans la section du contenu sur votre page d'accueil dans la section "contenu" sera injecté dans la mise en page étendue dans cet endroit.
@include est utilisé pour réutilisables HTML comme un standard de PHP include. Il n'a pas que la relation parent/enfant comme @rendement et @section.
Je vous suggère fortement la lecture de la documentation sur la Lame de Modèles sur le Laravel site pour un aperçu plus complet
https://laravel.com/docs/5.0/templates
@yield
et@include
injecte HTML dans un fichier parent. Laravel de la documentation est également très faible. Il ne s'adresse pas à la personne qui est nouveau pour laravel. La principale différence entre@yield
et@include
est:@include
définit affichage pour injecter dans le parent.@yield
définit pour être injecté.@yield
ne fonctionne que si votre vue@extends
la vue parent.OriginalL'auteur Rob Fonseca
@include et @rendement sont deux choses complètement différentes types d'opérations à l'importation de code dans le fichier en cours.
@include - importer le contenu d'un fichier séparé dans le fichier en cours à l'emplacement dans lequel il est placé. c'est à dire:
Fichier de mise en page:
Inclure le Fichier ( une lame de fichier avec un bloc de code ):
Le contenu de "nom_fichier" ( également une lame de fichier ) est ensuite importé dans la où la @include est situé.
@rendement importations de code à partir d'un "article" dans le fichier enfant ( la "vue" de la lame de fichier. ) c'est à dire:
Fichier de mise en page:
La section suivante est nécessaire dans la "vue" de la lame de fichier est réglé sur "prolonger" que le fichier de mise en page.
"Vue" de la lame de fichier:
Maintenant la mise en page du fichier à importer dans la section de code qui correspond à la dénomination utilisée.
Plus sur le sujet ici....
Cela semble être la meilleure réponse.
OriginalL'auteur G-Man
La différence entre
@yield
et@include
est la façon dont vous les utilisez.Si vous avez un statique type de contenu, comme une barre de navigation, cette partie de la page sera toujours au même endroit dans la mise en page. Lorsque vous utilisez
@include
dans le fichier de mise en page, la barre de navigation sera mis une fois par disposition. Mais si vous utilisez@yield
vous sera forcée de faire un@section
de la barre de navigation sur chaque page qui@extends
la mise en page.@yield
est, d'autre part, un meilleur choix lorsque le contenu est en train de changer sur toutes les pages, mais vous voulez toujours utiliser la même mise en page un peu partout. Si vous utilisez@include
vous aurez à faire une nouvelle mise en page pour chaque page, en raison de la différence de contenu.OriginalL'auteur Steffo Dimfelt