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

ที่มา : https://www.teeneeweb.com/laravel5-2
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 หลังจากนั้นพิมพ์คำสั่งเพื่อติดตั้ง Laravelcomposer create-project --prefer-dist laravel/laravel blog
รอ...

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

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);>
แหล่งที่มา : https://www.teeneeweb.com/laravel5-2
ทดสอบ
hi