วิธีติดตั้ง Laravel ด้วย Composer Laravel5 เป็น PHP Framework ที่ดังที่สุดในวงการทำเว็บ ด้วยการใช้งาน ด้วยฟิวเจอร์ค่อนข้างดีมาก และสามารถใช้งานร่วมกับ Composer ได้ ทำให้ชีวิตของโปรแกรมเมอร์สบายขึ้นเยอะเลย เช่นการติดตั้ง แค่ป้อนคำสั่งทาง Command line Interface กด Enter จากนั้นก็รอจนกว่าจะสมบูรณ์ เห็นไหมครับว่ามันง่าย และเร็วมาก

1.การติดตั้ง Laravel ด้วย Composer

1- Install Composer : ไปดาวน์โหลด composer มาติดตั้งให้เรียบร้อย

2- Set Environment :ถ้าใช้ Windows  ไปที่ My Computer > Advanced > Environment Variables… > path > Edit > แล้วสังเกตว่ามี path ของ php ที่ถูกต้องไหม? C:\xampp\php; ถ้าไม่มี ก็สามารถใส่ C:\xampp\php; ได้เลยครับ

3- Install Laravel5.2 : เปิด CMD (Command Line) ขึ้นมา แล้วชี้ไปที่โฟลเดอร์ cd:\xampp/htdocs   หลังจากนั้นพิมพ์คำสั่งเพื่อติดตั้ง Laravel
composer create-project --prefer-dist laravel/laravel blog
รอ...

วิธีใช้ Laravel เบื้องต้น

สังเกตบันทัดล่างสุด คำว่า successfully แสดงว่าเสร็จเรียบร้อยแล้ว

วิธีใช้ Laravel เบื้องต้น

4- หลังจาก ติดตังเรียบร้อย ให้รันดู php artisan serve (Start Server)
พิมพ์ url :  localhost:8000/
ถ้ามันรันได้ จะแสดงคำว่า Laravel ตัวใหญ่ๆ

2.Routing

การเราติ้ง เป็นการกำหนดเส้นทางให้กับเว็บ  ไฟล์มันตั้งอยู่ในโฟลเดอร์ >app>Http>routes.php

routes.php : คือ เช่น หน้า Index ก็สั่งให้ไปโหลด View ว่า Welcome เหมือนกับกำหนดเส้นทางให้มัน

Route::get('/', function () {
return view('welcome'); //เรียก welcome.blade.php
});

อีกตัวอย่าง

สร้างไฟล์ view ขึ้นมา ชื่อ about.blade.php  ==> C:\xampp\htdocs\blog\resources\views\about.blade.php

กำหนดเส้นทางให้กับ about แล้ว return ค่า Hasan ลองรัน localhost:8000/about

Route::get('/about',function(){
return 'Hasan';
});

สังเกตที่ Route::get ทำไมต้องใช้ get

get: การดึงข้อมูลมาแสดง
post: เอาข้อมูลไปบันทึกในฐานข้อมูล
put path: การเอาข้อมูล ไปอัพเดตในฐานข้อมูล
delete : การลบข้อมูลในฐานข้อมูล

วิธีดู Route ทั้งหมดที่เราได้สร้างขึ้นมา  ใช้คำสั่ง php artisan : phpartisan route:list

3.การส่ง Data ไปยัง View มีกี่วิธี

วิธีที่ 1

— routes.php —

Route::get('/about',function(){
 $data['name'] = 'Hasan Lebaesa';
 $data['msg'] = 'Message';
 return view('about');
});

— about.blade.php —

{{ $name }}

วิธีที่ 2

— routes.php —

Route::get('/about',function(){
 $name = 'Hasan Lebaesa';
 return view('about',compact('name'));
});

— about.blade.php —

{{ $name }}

วิธีที่ 3

— routes.php —

Route::get('/about', function () {
	return view('about')->with('name','Hasan')->with('msg','Message');
});

— about.blade.php —

{{ $name }}

วิธีที่ 4

Route::get('/about', function () {
	return view('about')->withName('Hi Guys');
});

]

— about.blade.php —

{{ $name }}

4.Routing Parameters

Route Parameters เป็นการส่งค่าผ่านทาง URL

วิธีเขียน Reqular Expression ผ่าน Route Parameters มี 2 วิธี

วิธีที่ 1   เขียนต่อท้าย Route นั้นๆ

— routes.php —

Route::get('/cal/{num1?}/{num2?}',function($num1=0,$num2=0){
	echo $num1.'+'.$num2.' = '.($num1+$num2);
})->where('num1','[0-9]+')->where('num2','[0-9]+');

ลองรันดูครับ : localhost/blog/cal/99/99

วิธีที่ 2  เขียนที่ไฟล์    C:\xampp\htdocs\blog\app\Providers\RouteServiceProvider.php

— routes.php —

Route::get('/cal/{num1?}/{num2?}',function($num1=0,$num2=0){
 echo $num1.'+'.$num2.' = '.($num1+$num2);
})); 

— RouteServiceProvider.php —

public function boot(Router $router)
    {
        /*$router->pattern('num1','[0-9]+');
        $router->pattern('num2','[0-9]+');*/
        parent::boot($router);
    }

ลองรันดูครับ : localhost/blog/cal/99/99 ผลออกมาเหมือนกัน ต่างกันแค่วิธี!

5.Blade Template

Laravel มีระบบ Template ของมันเอง ทำให้นักพัฒนาสะดวกขึ้นเยอะ  ด้วยคำสั่งที่สั้นๆ ซึ่งการตั้งชื่อของไฟล์ จะต้องเป็นแบบนี้

yourname.blade.php   เริ่มด้วยชื่อไฟล์ที่ต้องการ ตามด้วย blade

ผมจะสรุปคำสั่งที่ใช้บ่อยๆ ใน blade

{{only text}}  การใช้ปีกกา {{ }} ครอบเท่ากับเป็นการ echo ถ้าปกติก็ echo ‘only text’;

{!! ‘<p>’.$name.'</p>’ !!}  การใช้ {!!  … !!} ทำให้เราสามารถแทรกแท็ก HTML ได้นั้นเอง

Loop if else

@if($name=='Hasan')
yes
@else
no
@endif

Loop foreach

/* routes.php */
Route::get('/about', function () {
 $data['guys'] = ['san','alex','seb']
 return view('about', $data);
});

/* about.blade.php */
@foreach($guys as $person)
	{{ $person }}
@endforeach

@for($i=0; $i<sizeof($people); $i++)="" {{="" $person="" }}="" @endfor="" <="" pre="">

วิธี Extends View

เป็นการสืบทอด หรือ Extends เช่น เราจะเอา Layout ไปใช้กับหน้าอื่นๆ เราก็แค่ใช้วิธี Extends เพื่อนำไปใช้งาน

Example:

สมมติเราสร้าง layout.blade.php เก็บไว้ในโฟลเดอร์ site

site/layout.blade.php ซึ่งเป็นไฟล์ที่สร้างเลย์เอาต์ เว็บไซต์ แล้วเราจะเอา layout.blade.php  extends ไปยังไฟล์ index.blade.php(สร้างไฟล์นี้เก็บใน site)

— index.blade.php —

ในไฟล์ index.blade.php เพียงแค่ในคำสั่งบันทัดเดียวก็สามารถ สืบทอด layout ที่เราสร้างไว้ใน layout.blade.php ทุกประการ
แค่ใส่คำสั่ง ==> @extends(‘site.layout’)

วิธีการประยุกต์ใช้ 

–layout.blade.php–

สมมติมีโครงสร้างดังนี้

...

header@yield(‘content’) //ตำแหน่งข้อความที่จะมาแทนที่footer

...

เราจะลองสืบทอด layout.blade.php ไปใช้กับหน้า site/index.blade.php

–index.blade.php– สร้างไฟล์ให้อยู่ในโฟลเดอร์ site

@extends('site.layout')

@section('content')
	index //ตำแหน่งข้อมูลที่ต้องการจะใส่ใน layout
@stop

เห็นใหมครับว่าการ extends layout ของ laravel มีประโยชน์มาก ทำให้ประหยัดเวลาขึ้นเยอะเลย
ไม่ต้องสร้างไฟล์ที่ซ้ำซ้อน แค่สร้างโครงสร้างไฟล์เดียว แล้วสือบอด(extends)

</sizeof($people);>

Hasan Lebaesa

เริ่มทำงานกับ Web Agency กทม. ลาออกมาทำฟรีแลนซ์เต็มตัว และลาออกจากการเป็นฟรีแลนซ์ ก่อตั้งบริษัท, ปี 2019 ตั้งเป้าไว้ว่า จะเขียนบทความดีๆ วีคละ 1 บทความ. About Me