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
shin.joko
September 08, 2020
Technology
0
400
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
38
Other Decks in Technology
See All in Technology
名刺メーカーDevグループ 紹介資料
sansan33
PRO
0
820
All About Sansan – for New Global Engineers
sansan33
PRO
1
1.2k
データ基盤からデータベースまで?広がるユースケースのDatabricksについて教えるよ!
akuwano
3
170
データ戦略部門 紹介資料
sansan33
PRO
1
3.3k
モニタリング統一への道のり - 分散モニタリングツール統合のためのオブザーバビリティプロジェクト
niftycorp
PRO
1
440
Figma Dev Mode MCP Serverを用いたUI開発
zoothezoo
0
170
cdk initで生成されるあのファイル達は何なのか/cdk-init-generated-files
tomoki10
1
630
AWS 怖い話 WAF編 @fillz_noh #AWSStartup #AWSStartup_Kansai
fillznoh
0
110
スタックチャン家庭用アシスタントへの道
kanekoh
0
120
伴走から自律へ: 形式知へと導くSREイネーブリングによる プロダクトチームの信頼性オーナーシップ向上 / SRE NEXT 2025
visional_engineering_and_design
3
360
How Do I Contact HP Printer Support? [Full 2025 Guide for U.S. Businesses]
harrry1211
0
130
事例で学ぶ!B2B SaaSにおけるSREの実践例/SRE for B2B SaaS: A Real-World Case Study
bitkey
1
380
Featured
See All Featured
Visualization
eitanlees
146
16k
Building Applications with DynamoDB
mza
95
6.5k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
18
980
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
10
970
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Making the Leap to Tech Lead
cromwellryan
134
9.4k
Bash Introduction
62gerente
613
210k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
47
9.6k
Gamification - CAS2011
davidbonilla
81
5.4k
Why Our Code Smells
bkeepers
PRO
337
57k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
50k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
2.9k
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!
他にも便利な機能はある
コンポーネントとスロット
コンポーネントとスロット
コンポーネントとスロット セクションとレイアウトと似た感じの機能ですが、 値の埋め込み等、見たときにわかりやすく書くことが出来ます。
色々あるので 調べてみてくださいね。