<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>blade template - itOffside.com | บทความการเขียนโปรแกรม เรื่องราวข้อมูลเทคโนโลยี</title>
	<atom:link href="https://www.itoffside.com/tag/blade-template/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.itoffside.com</link>
	<description>ข้อมูลข่าวสารและเรื่องราวบนโลกของไอทีที่ ล้ำหน้า พร้อมสาระการเขียนโปรแกรมคอมพิวเตอร์</description>
	<lastBuildDate>Sun, 01 Jan 2023 09:52:39 +0000</lastBuildDate>
	<language>th</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.8.5</generator>

<image>
	<url>https://www.itoffside.com/wp-content/uploads/2020/04/cropped-favicon-96x96-1-32x32.png</url>
	<title>blade template - itOffside.com | บทความการเขียนโปรแกรม เรื่องราวข้อมูลเทคโนโลยี</title>
	<link>https://www.itoffside.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Laravel &#8211; EP10 การใช้งาน Blade Template</title>
		<link>https://www.itoffside.com/laravel-ep10-blade-template/</link>
					<comments>https://www.itoffside.com/laravel-ep10-blade-template/#comments</comments>
		
		<dc:creator><![CDATA[Onmobile]]></dc:creator>
		<pubDate>Thu, 09 Jan 2020 10:45:19 +0000</pubDate>
				<category><![CDATA[Laravel]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[blade template]]></category>
		<category><![CDATA[PHP Framework]]></category>
		<guid isPermaLink="false">https://www.itoffside.com/?p=2900</guid>

					<description><![CDATA[<p>ใน Laravel เวอร์ชั่น 5 เป็นต้นมาได้มีการนำเอา Blade Template มาใช้งานในส่วนของ view ซึ่ง Blade Template คือ Template Engine ที่เราสามารถเขียนโค๊ด php ผสมกับ html ได้อย่างเรียบง่าย แต่ผลลัพท์ที่ได้ทรงพลัง ซึ่งเราสามารถนำไปใช้กับ Frontend อย่าง vuejs, angularjs ได้อีกด้วย การใช้งานนั้นเราไม่จำเป็นต้อง...</p>
<p>The post <a href="https://www.itoffside.com/laravel-ep10-blade-template/">Laravel – EP10 การใช้งาน Blade Template</a> first appeared on <a href="https://www.itoffside.com">itOffside.com | บทความการเขียนโปรแกรม เรื่องราวข้อมูลเทคโนโลยี</a>.</p>]]></description>
										<content:encoded><![CDATA[<p>ใน Laravel เวอร์ชั่น 5 เป็นต้นมาได้มีการนำเอา <strong>Blade Template</strong> มาใช้งานในส่วนของ view ซึ่ง <strong>Blade Template</strong> คือ <span style="text-decoration: underline;">Template Engine</span> ที่เราสามารถเขียนโค๊ด php ผสมกับ html ได้อย่างเรียบง่าย แต่ผลลัพท์ที่ได้ทรงพลัง ซึ่งเราสามารถนำไปใช้กับ Frontend อย่าง vuejs, angularjs ได้อีกด้วย การใช้งานนั้นเราไม่จำเป็นต้องติดตั้งอะไรแล้วเพราะว่า<strong> blade template</strong> ถูกติดตั้งมาตั้งแต่ตอนที่เราติดตั้ง <strong>laravel</strong> แล้ว เพียงแค่เราทำการสร้างไฟล์ example.blade.php เราก็สามารถใช้ <strong>blade template</strong> ได้เลย<span id="more-2900"></span></p>
<h3>ขั้นตอนการสร้าง Blade Template Layout</h3>
<ol>
<li>เป็นขั้นตอนของการสร้าง Master Template เพื่อที่เราจะใช้ Master นี้ในทุกๆหน้า ดังนั้นเราต้องมี Layout template สำหรับเป็น Template หลักก่อน ให้ทำตามขั้นตอน<br />
1.) สร้างโฟล์เดอร์ layout ไว้ที่ resources/views (เราจะเอา <span style="text-decoration: underline;"><strong>blade template</strong></span> ไว้ใน โฟล์เดอร์นี้ด้วย)<br />
2.) หลังจากสร้างโฟล์เดอร์ layout แล้วให้ สร้างไฟล์ master.blade.php ไว้ในโฟล์เดอร์ layout ลองดู Code ด้านล่าง<br />
<pre class="crayon-plain-tag">&lt;html&gt;
   &lt;head&gt;
      &lt;title&gt;DemoLaravel - @yield('title')&lt;/title&gt;
      &lt;link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css" integrity="sha384-Vkoo8x4CGsO3+Hhxv8T/Q5PaXtkKtu6ug5TOeNV6gBiFeWPGFN9MuhOf23Q9Ifjh" crossorigin="anonymous"&gt;
   &lt;/head&gt;
   &lt;body&gt;
      &lt;div class="container my-5"&gt;
        &lt;div class="row"&gt;
            &lt;div class="col-md-4"&gt;
                &lt;ul class="list-group"&gt;
                &lt;li class="list-group-item"&gt;&lt;a href="{{ url('home') }}"&gt;หน้าแรก&lt;/a&gt;&lt;/li&gt;
                    &lt;li class="list-group-item"&gt;&lt;a href="{{ url('about') }}"&gt;เกี่ยวกับเรา&lt;/a&gt;&lt;/li&gt;
                    &lt;li class="list-group-item"&gt;&lt;a href="{{ url('contact') }}"&gt;ติดต่อเรา&lt;/a&gt;&lt;/li&gt;
                  &lt;/ul&gt;
            &lt;/div&gt;
            &lt;div class="col-md-8"&gt;                
                &lt;div class="card"&gt;
                    &lt;div class="card-body"&gt;
                        @yield('content')
                    &lt;/div&gt;
                &lt;/div&gt;
            &lt;/div&gt;
        &lt;/div&gt;
      &lt;/div&gt;
   &lt;/body&gt;
&lt;/html&gt;</pre><br />
จากตัวอย่าง code ให้เราสังเกตุว่าถ้าเรามี header, menu left, content ตรงกลาง แล้วเราอยากให้ header, menu left คงเดิมแต่ content ตรงกลางมีการเปลี่ยนแปลงตลอดเมื่อเปลียนเมนู เราจะใช้คำสั่ง @yield(&#8216;content&#8217;) และถ้าเราต้องการเปลี่ยน tag Title ทุกๆหน้าเวลาเปลียนเมนูเราก็ใช้คำสั่ง @yield(&#8216;title&#8217;)</li>
<li>ในขั้นตอนนี้เราสามารถใช้งาน layout Master template ที่สร้างจากขั้นตอนแรกได้แล้ว โดยเราเรียกว่าการ extends ซึ่งสิ่งที่เราได้กำหนดจาก layout Master คือมี title, content ที่เราจะเจาะ แล้วใส่เนื้อหาเข้าไป<br />
ให้เราไปสร้างไฟล์ home.blade.php, about.blade.php, contact.blade.php ไว้ใน resources/views จากนั้นให้ใส่ code ตัวอย่าง ทั้ง 3 ไฟล์ตามลำดับ<br />
<span style="text-decoration: underline;"><strong>home.blade.php</strong></span><br />
<pre class="crayon-plain-tag">@extends('master.app')

@section('title', 'Home Page')

@section('content')
    &lt;p&gt;This is Home content.&lt;/p&gt;
@endsection</pre><br />
<strong><span style="text-decoration: underline;">about.blade.php</span></strong><br />
<pre class="crayon-plain-tag">@extends('master.app')

@section('title', 'About Page')

@section('content')
    &lt;p&gt;This is Abount content.&lt;/p&gt;
@endsection</pre><br />
<strong><span style="text-decoration: underline;">contact.blade.php</span></strong><br />
<pre class="crayon-plain-tag">@extends('master.app')

@section('title', 'Contact Page')

@section('content')
    &lt;p&gt;This is Contact content.&lt;/p&gt;
@endsection</pre>
</li>
<li>สร้าง Controller ชื่อว่า PageController แล้วใส่ code ดังนี้<br />
<pre class="crayon-plain-tag">&lt;?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

class PageController extends Controller
{
    public function home()
    {
        return view('home');
    }

    public function about()
    {
        return view('about');
    }

    public function contact()
    {
        return view('contact');
    }
}</pre>
</li>
<li>กำหนด Route ที่ routes/web.php<br />
<pre class="crayon-plain-tag">&lt;?php
Route::get('/', 'PageController@home');
Route::get('home', 'PageController@home');
Route::get('about', 'PageController@about');
Route::get('contact', 'PageController@contact');</pre>
</li>
<li>จะเห็นผลลัพท์เวลาคลิกเมนู ก็จะเปลี่ยนไปตาม blade view</li>
</ol>
<h3>การนำตัวแปรมาแสดงผล</h3>
<p>ในบางทีเราอาจมีการส่งข้อมูลตัวแปรจาก Controller มาแสดงผลที่ View ซึ่งถ้าเป็น Framework อื่นใช้งานแบบนี้ &lt;?php echo $result[&#8216;document&#8217;]; ?&gt; เป็นต้น แต่ใน Blade Template Engine เราไม่จำเป็นต้องสร้าง Syntax ให้ยุ่งยากและวุ่นวายเราสามารถใช้ {{&nbsp; }} ในการนำตัวแปลมาแสดงผลได้เลย เช่น</p><pre class="crayon-plain-tag">Hello, {{ $name }}.</pre><p>หรือกรณีถ้าเราต้องการใช้ Function PHP เราก็สามารถเรียกใช้งานได้ทันที เช่น</p><pre class="crayon-plain-tag">Hello current time, {{ date('d/m/Y H:i') }}.</pre><p></p>
<h3>การควบคุมเงื่อนไขหรือวนลูป(IF, FOREACH)</h3>
<p>ในบางทีเราอาจมีการตรวจสอบการแสดงผล ต้องใช้เงื่อนไขบางอย่าง ก็สามารถทำได้เพียงคำสั่ง @if ลองดูตัวอย่างการใช้งาน</p><pre class="crayon-plain-tag">if (count($records) === 1)
    I have one record!
@elseif (count($records) &gt; 1)
    I have multiple records!
@else
    I don't have any records!
@endif</pre><p>ถ้าหากเราต้องการวนข้อมูล สามารถใช้ @for, @foreach ได้ตามตัวอย่าง code ด้านล่าง</p><pre class="crayon-plain-tag">@for ($i = 0; $i &lt; 10; $i++)
    The current value is {{ $i }}
@endfor

@foreach ($users as $user)
    &lt;p&gt;This is user {{ $user-&gt;id }}&lt;/p&gt;
@endforeach</pre><p></p>
<h3>Comment Code</h3>
<p>สามารถ Comment code ใน Blade template ได้โดยใช้</p><pre class="crayon-plain-tag">{{-- This comment will not be present in the rendered HTML --}}</pre><p></p>
<h3>สรุป</h3>
<p>Blade Template เป็น<strong> Template Engine</strong> ของ <strong>Laravel</strong> เราสามารถใช้งานได้เลยไม่จำเป็นต้องติดตั้งเพิ่ม ใช้ง่าย เข้าใจง่าย และทำให้การเขียนโปรแกรม Clean code ขึ้น ผู้เขียนจึงแนะนำให้ใช้<strong> Blade Template</strong> เลย ซึ่งบทความทางผู้เขียน เขียนขึ้นมาน่าจะเป็นแนวทางให้ใครหลายคนสามารถนำไปประยุกต์ปฏิบัต ได้ไม่มากก็น้อย</p>
<p>สำหรับบทความ Blade Template ก็มีเพียงเท่านี้หากมีข้อคำถามใดๆ เพิ่มเติม พิมพ์ comment แจ้งมาได้เลยครับ</p><p>The post <a href="https://www.itoffside.com/laravel-ep10-blade-template/">Laravel – EP10 การใช้งาน Blade Template</a> first appeared on <a href="https://www.itoffside.com">itOffside.com | บทความการเขียนโปรแกรม เรื่องราวข้อมูลเทคโนโลยี</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>https://www.itoffside.com/laravel-ep10-blade-template/feed/</wfw:commentRss>
			<slash:comments>5</slash:comments>
		
		
			</item>
	</channel>
</rss>
