Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Laravel blade include・yield・sectionの違い
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
shin.joko
September 08, 2020
Technology
0
420
Laravel blade include・yield・sectionの違い
Laravel blade include・yield・sectionの違い
おまけでstackも
shin.joko
September 08, 2020
Tweet
Share
More Decks by shin.joko
See All by shin.joko
Laravelコマンド作成
shinjoko
0
41
Other Decks in Technology
See All in Technology
FinTech SREのAWSサービス活用/Leveraging AWS Services in FinTech SRE
maaaato
0
130
フルカイテン株式会社 エンジニア向け採用資料
fullkaiten
0
10k
Amazon Bedrock Knowledge Basesチャンキング解説!
aoinoguchi
0
160
外部キー制約の知っておいて欲しいこと - RDBMSを正しく使うために必要なこと / FOREIGN KEY Night
soudai
PRO
12
5.6k
AzureでのIaC - Bicep? Terraform? それ早く言ってよ会議
torumakabe
1
590
仕様書駆動AI開発の実践: Issue→Skill→PRテンプレで 再現性を作る
knishioka
2
680
Oracle AI Database移行・アップグレード勉強会 - RAT活用編
oracle4engineer
PRO
0
100
日本の85%が使う公共SaaSは、どう育ったのか
taketakekaho
1
230
Contract One Engineering Unit 紹介資料
sansan33
PRO
0
13k
ランサムウェア対策としてのpnpm導入のススメ
ishikawa_satoru
0
210
Tebiki Engineering Team Deck
tebiki
0
24k
Context Engineeringが企業で不可欠になる理由
hirosatogamo
PRO
3
630
Featured
See All Featured
Balancing Empowerment & Direction
lara
5
890
A designer walks into a library…
pauljervisheath
210
24k
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
140
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Discover your Explorer Soul
emna__ayadi
2
1.1k
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
320
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.2k
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
450
Between Models and Reality
mayunak
1
190
Large-scale JavaScript Application Architecture
addyosmani
515
110k
Automating Front-end Workflow
addyosmani
1371
200k
Claude Code のすすめ
schroneko
67
210k
Transcript
Laravel blade include・yield・sectionの違い おまけにstackも
Laravelのテンプレートblade ちゃんと使えてますか?
※head内説明する上で 不要な部分は削除してま す。
いろんな@が出てくる ・stack ・include ・yield 画像にはなかったけど ・section
違いを確認してみる
@stack 他のビューやレイアウトでレンダーできるように、名前付きのスタックへ内容を退避でき ます。子ビューで必要なJavaScriptを指定する場合に、便利です。 必要なだけ何回もスタックをプッシュできます。
@stack(子テンプレート側)
@include ビューの中から簡単に他のBladeビューを取り込めます。読み込み元のビューで使用 可能な変数は、取り込み先のビューでも利用可能です。 親のビューの全データ変数が取り込み先のビューに継承されます が、追加のデータも配列で渡すことができます。
@include(子テンプレート側) 普通のblade内記述でOK
ちなみに includeから派生したやつたちもいるので 調べてみてね。 @includeIf @includeWhen @includeFirst
@yield 共通化せずにコンテンツview毎にダイナミックに変化するものやページ毎に設定する ようなものは@yieldを使います。 (それぞれのページのタイトル、メインコンテンツなど・・) 常にそれぞれのページで生み出すコンテンツに使う
@yield(子テンプレート) 各画面のコンテンツとなるHTMLを記述する @sectionで挿入が可能
@section @sectionは継承ができます。親テンプレート(レイアウトview)に記述した内容を子テン プレート(コンテンツview)で使うことができます。 共通化してかつ個別の部分を追加していくような ものに使う
@section @show で終わるのが ポイント
@section(子テンプレート) @parentで親を使いつつ、追加要素を記述出来る
テンプレートを作るとき sectionとyieldの違いは確実に覚えておくと良いです。 基本的に、子テンプレートを作るものは yield を使う! (子で追加したい要件はあまりない)
単純なHTMLの分割の場合 includeでOK!
他にも便利な機能はある
コンポーネントとスロット
コンポーネントとスロット
コンポーネントとスロット セクションとレイアウトと似た感じの機能ですが、 値の埋め込み等、見たときにわかりやすく書くことが出来ます。
色々あるので 調べてみてくださいね。