ความแตกต่างระหว่าง @include
และ @yield
:
คุณสมบัติ | @include | @yield |
---|---|---|
จุดประสงค์ | ใช้เพื่อรวมไฟล์ View ย่อยเข้ามาในไฟล์หลัก. | ใช้เพื่อสร้างช่องที่สามารถแทรกเนื้อหาจากไฟล์ลูก (child view). |
การใช้ | ใช้สำหรับรวมไฟล์ View ที่มีการกำหนดไว้. | ใช้ใน layout สำหรับสร้างพื้นที่ที่สามารถแทนที่ด้วยเนื้อหาจาก child view. |
การส่งข้อมูล | สามารถส่งข้อมูลไปยังไฟล์ที่รวมได้ (@include('view', ['data' => $data]) ). |
ไม่สามารถส่งข้อมูลผ่าน @yield โดยตรง แต่ข้อมูลจะถูกส่งผ่านการใช้ @section . |
ตัวอย่างการใช้งาน | @include('admin.body.sidebar') |
@yield('content') |
การทำงานร่วมกับ @section และ @extends |
ไม่เกี่ยวข้องกับการขยาย layout หรือ sections. | ใช้ร่วมกับ @extends และ @section เพื่อแทนที่เนื้อหาใน section. |
สรุป:
@include
: ใช้เพื่อรวมไฟล์ Blade อื่น ๆ เข้ามาในตำแหน่งที่ต้องการ (เหมาะสำหรับการรวมส่วนต่าง ๆ ที่ใช้ซ้ำ เช่น sidebar, footer, header).@yield
: ใช้เพื่อกำหนดพื้นที่สำหรับเนื้อหาที่จะถูกแทนที่ในไฟล์ layout (เหมาะสำหรับการสร้างโครงสร้างหน้าเว็บหลัก เช่น header, footer, และเนื้อหาหลักของแต่ละหน้า).
แบ่งปันกัน เราอยู่กันไม่เกิน 100 ปีหรอกครับ
สุดท้ายก็ทิ้งไว้ที่โลก จะคงเหลือไว้แต่คุณงามความดีที่ให้ระลึกถึงกันครับ
Follow Us / Thanat Sirikitphattana