Office.in.th
คู่มือระบบ เนื้อหาผ่านการตรวจสอบแล้ว

การใช้ Blade Directives เช่น @if, @foreach

Blade Directives เป็นฟีเจอร์ของ Blade Template Engine ใน Laravel ที่ช่วยให้เราสามารถเขียนโค้ด PHP ได้สะดวกขึ้นในรูปแบบที่อ่านง่าย Blade มี Directives ที่ช่วยในก...

Blade Directives เป็นฟีเจอร์ของ Blade Template Engine ใน Laravel ที่ช่วยให้เราสามารถเขียนโค้ด PHP ได้สะดวกขึ้นในรูปแบบที่อ่านง่าย Blade มี Directives ที่ช่วยในการควบคุมโค้ด เช่น @if สำหรับเงื่อนไข และ @foreach สำหรับการวนลูป ซึ่งทำให้การแสดงผลข้อมูลเป็นไปอย่างง่ายดาย

การใช้ Blade Directives พื้นฐาน

1. การใช้ @if สำหรับเงื่อนไข

@if เป็น Directive ที่ใช้ตรวจสอบเงื่อนไข หากเงื่อนไขเป็นจริงจะทำงานตามโค้ดในบล็อกนั้น Blade ยังรองรับคำสั่ง @elseif และ @else สำหรับการตรวจสอบเงื่อนไขเพิ่มเติม

<!-- resources/views/user.blade.php -->
@if($age >= 18)
    <p>คุณสามารถเข้าถึงเนื้อหานี้ได้</p>
@elseif($age >= 13)
    <p>คุณสามารถเข้าถึงเนื้อหาบางส่วนได้</p>
@else
    <p>ขออภัย คุณยังไม่สามารถเข้าถึงเนื้อหานี้ได้</p>
@endif

ในตัวอย่างนี้ @if ตรวจสอบว่าอายุมากกว่า 18 หรือไม่ ถ้าใช่จะแสดงข้อความแรก หากไม่ใช่จะตรวจสอบเงื่อนไขอื่น และถ้าไม่ตรงกับเงื่อนไขใดเลยจะแสดงข้อความในส่วนของ @else

2. การใช้ @foreach สำหรับการวนลูป

@foreach เป็น Directive ที่ใช้สำหรับการวนลูปข้อมูลที่เป็นอาร์เรย์หรือคอลเลกชัน ตัวอย่างเช่น การแสดงรายการสินค้า

<!-- resources/views/products.blade.php -->
<ul>
@foreach($products as $product)
    <li>{{ $product->name }} - ราคา: {{ $product->price }} บาท</li>
@endforeach
</ul>

ในตัวอย่างนี้ @foreach จะวนลูปข้อมูลใน $products และแสดงชื่อและราคาของสินค้าทุกชิ้นในรายการ

3. การใช้ @for, @while, และ @forelse

Blade ยังรองรับการใช้ลูป @for และ @while สำหรับการทำงานซ้ำตามเงื่อนไข หรือการวนลูปตามจำนวนรอบที่ต้องการ นอกจากนี้ยังมี @forelse ที่ใช้ตรวจสอบว่ามีข้อมูลหรือไม่ก่อนการวนลูป

@for - ใช้สำหรับการวนลูปตามจำนวนรอบที่กำหนด

@for($i = 0; $i < 5; $i++)
    <p>หมายเลข: {{ $i }}</p>
@endfor

@while - ใช้สำหรับการวนลูปตามเงื่อนไข

@while($counter > 0)
    <p>เหลือจำนวนรอบ: {{ $counter }}</p>
    @php $counter--; @endphp
@endwhile

@forelse - ใช้สำหรับแสดงข้อมูลหากมี หรือแสดงข้อความอื่นหากไม่มีข้อมูล

@forelse($items as $item)
    <p>{{ $item }}</p>
@empty
    <p>ไม่มีรายการ</p>
@endforelse

ตัวอย่างการใช้งาน Blade Directives

ตัวอย่างการใช้งาน Blade Directives ใน View เพื่อแสดงผลข้อมูลที่ดึงมาจาก Controller:

<!-- resources/views/profile.blade.php -->
<h1>ข้อมูลส่วนตัว</h1>
<p>ชื่อ: {{ $name }}</p>

@if($is_admin)
    <p>สถานะ: ผู้ดูแลระบบ</p>
@else
    <p>สถานะ: ผู้ใช้งานทั่วไป</p>
@endif

<h2>รายการสินค้า</h2>
<ul>
@foreach($products as $product)
    <li>{{ $product->name }} - {{ $product->price }} บาท</li>
@endforeach
</ul>

การนำไปใช้งาน

Blade Directives ช่วยให้การเขียนโค้ดเงื่อนไขและการวนลูปข้อมูลใน Blade Template เป็นไปได้ง่ายและสะอาดตา ช่วยให้นักพัฒนาเขียนโค้ดในรูปแบบที่เข้าใจง่าย และเพิ่มประสิทธิภาพในการจัดการข้อมูลที่ต้องการแสดงผลบนหน้าเว็บ ไม่ว่าจะเป็นการตรวจสอบเงื่อนไขหรือการวนลูปข้อมูล

Office.in.th Custom Service

ต้องการพัฒนาระบบหรือปรับแต่งจากโครงสร้างนี้?

Office.in.th รับพัฒนาและออกแบบ Enterprise Web Application, API Integration และระบบบริหารงานภาครัฐ/เอกชน พร้อมการสนับสนุนระยะยาว

ดูบริการรับพัฒนาซอฟต์แวร์