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
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
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
新規事業 toitta におけるAI 機能評価の話 / AI Feature Evaluation in toitta
pokutuna
0
270
かわいい身体と声を持つ そういうものに私はなりたい
yoshimura_datam
0
470
人はいかにして 確率的な挙動を 受け入れていくのか
vaaaaanquish
4
2.6k
エンジニアとして長く走るために気づいた2つのこと_大賀愛一郎
nanaism
1
250
AWSと暗号技術
nrinetcom
PRO
1
170
ドメイン駆動セキュリティへの道しるべ
pandayumi
0
180
BPaaSオペレーション・kubell社内 n8n活用による効率化検証事例紹介
kubell_hr
0
270
さくらのクラウドでのシークレット管理を考える/tamachi.sre#2
fujiwara3
1
220
The Engineer with a Three-Year Cycle - 2
e99h2121
0
190
SwiftDataを覗き見る
akidon0000
0
310
エンジニアとマネジメントの距離/Engineering and Management
ikuodanaka
3
620
ALB「証明書上限問題」からの脱却
nishiokashinji
0
250
Featured
See All Featured
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
359
30k
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
0
97
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
430
More Than Pixels: Becoming A User Experience Designer
marktimemedia
2
310
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
61
49k
A better future with KSS
kneath
240
18k
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
86
GitHub's CSS Performance
jonrohan
1032
470k
Game over? The fight for quality and originality in the time of robots
wayneb77
1
89
The Cult of Friendly URLs
andyhume
79
6.8k
How to Ace a Technical Interview
jacobian
281
24k
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!
他にも便利な機能はある
コンポーネントとスロット
コンポーネントとスロット
コンポーネントとスロット セクションとレイアウトと似た感じの機能ですが、 値の埋め込み等、見たときにわかりやすく書くことが出来ます。
色々あるので 調べてみてくださいね。