การจะใช้ framework เพื่อใช้ในการพัฒนาโปรแกรมนั้น จะต้องทำความเข้าใจหลักการของ framework ที่จะใช้ก่อน ซึ่งแต่ละโปรแกรมจะมีรายละเอียดแตกต่างกันไป ทั้งรูปแบบการเขียนโปรแกรม โครงสร้างไฟล์หรือไดเร็กทอรีต่างๆ วิธีการการใช้ Class, Method ที่เกี่ยวข้อง
ครั้นจะทำความเข้าใจทั้งหมดแล้วค่อยลงมือใช้ ตามประสบการณ์ที่ได้ลองแล้ว อ่านๆ ไปบางครั้งนึกภาพไม่ออกว่าเป็นอย่างไร โดยส่วนตัวเลยคิดว่าลองทำตามเป็นขั้นๆ ไป น่าจะดี
ในที่นี้เรียบเรียงมาจากเว็บไซต์ laravel.com และเว็บอื่นๆ ที่เกี่ยวข้อง เรียงตามลำดับที่คิดว่าผู้อ่านที่ไม่เคยใช้มาก่อน (รวมทั้งผู้เขียนเองด้วย) ลองทำตามดูทีละขั้นน่าจะพอเข้าใจ laravel ได้มากขึ้น
แม้แรกๆ จะดูยุ่งยาก แต่พอลองทำไปเรื่อยๆ ดูเป็นระเบียบดี ถ้าโปรแกรมมีขนาดใหญ่ขึ้น laravel น่าจะช่วยในการดูแล ปรับปรุง โปรแกรมได้ดีมากขึ้น
หลังจาก ติดตั้งและคอนฟิก Laravel เบื้องต้น เรียบร้อยแล้ว โดยได้สร้างแอพที่ชื่อ blog ขึ้นมา เก็บไว้ใน /var/www/html/blog และคอนฟิกให้ DocumentRoot ของเว็บเซิร์ฟเวอร์ ชี้มาที่ /var/www/html/blog/public
คอนฟิก Route กำหนดเส้นทาง
เริ่มต้นกับการคอนฟิก Route ซึ่งเป็นการคอนฟิกว่าเมื่อเข้าหน้าเว็บด้วยการระบุ HTTP Method และ URL path ให้ไปรันโปรแกรมส่วนไหนขึ้นมา
เปิดไฟล์ apps/routes.php เพื่อเพิ่ม Route
[alice@cent6-php blog]$ vi app/routes.php
...
/*
|--------------------------------------------------------------------------
| Application Routes
|--------------------------------------------------------------------------
|
| Here is where you can register all of the routes for an application.
| It's a breeze. Simply tell Laravel the URIs it should respond to
| and give it the Closure to execute when that URI is requested.
|
*/
Route::get('/', function()
{
return View::make('hello');
});
Route::get('users', function()
{
return 'Users!';
});
คำอธิบาย บรรทัดที่เพิ่มขึ้นเป็นการสร้าง Route สำหรับการเข้าหน้าเว็บโดยใช้ get (HTTP Method GET) ระบุ path “users” ให้ return หรือแสดงข้อความ “Users!” ออกมา
ทดลองเปิดบน browser
ส่งค่า Parameter ใน Route
ถ้าเราต้องการส่งค่า parameter ก็เพียงแต่กำหนดรูปแบบ path ที่จะใช้ พร้อมกับรูปแบบการรับค่าไว้ในเครื่องหมาย {}
เพิ่ม route ในไฟล์ app/routes.php
[alice@cent6-php blog]$ vi app/routes.php ... Route::get('user/{id}', function($id) { return 'User ' . $id; });
ทดลองเปิดบน browser
คำอธิบาย เมื่อมีการเข้าหน้าเว็บตามพาธที่ระบุเช่น user/12 ตัวเลข 12 จะตรงตามรูปแบบ (match) กับ {id} และส่งค่าเข้าไปในฟังก์ชั่นด้วยตัวแปร $id ไว้ใช้ในการประมวลผลต่อไปได้
การใช้ View เพื่อแสดงผล
ตามหลักการของ Laravel หรือ MVC (Model–view–controller) ทั่วไป ส่วนที่ใช้ในการแสดงผลจะถูกจัดในส่วน View
ใน Laravel เราจะสร้างไฟล์ View เพื่อใช้ในการแสดงผลข้อมูลไว้ในไดเร็กทอรี apps/views/
ในไดเร็กทอรีนี้ เราจะสร้างเป็นไฟล์ .php ธรรมดาก็ได้ แต่ใน Laravel จะมี template ให้เรียกใช้ ที่ชื่อว่า Blade ซึ่งช่วยให้เขียนไฟล์เพื่อแสดงผลได้ง่ายขึ้น วิธีการใช้ Blade ก็เพียงแค่กำหนดชื่อไฟล์ลงท้ายด้วย .blade.php เท่านั้นเอง
ขอยกตามตัวอย่างในเว็บไซต์ laravel.com
สร้างไฟล์ layout.blade.php
[alice@cent6-php blog]$ vi app/views/layout.blade.php <html> <body> <h1>Laravel Quickstart</h1> @yield('content') </body> </html>
สร้างอีกไฟล์ users.blade.php
[alice@cent6-php blog]$ vi app/views/users.blade.php @extends('layout') @section('content') Users! @stop
แก้ไขไฟล์ routes.php เพื่อเปลี่ยนให้ไปเรียกใช้ไฟล์ในส่วนของ View ในการแสดงผล
[alice@cent6-php blog]$ vi app/routes.php
...
Route::get('users', function()
{
return View::make('users');
});
คำอธิบาย แทนที่จะ return ข้อความโดยตรง ในที่นี้จะใช้ View::make() เพื่อไปดึงไฟล์ ที่อยู่ใน apps/views/ มาแสดงผล โดย laravel จะค้นหาไฟล์ที่ลงท้ายด้วย .blade.php หรือ php เอง
ทดลองเปิดบน browser
จะเห็นว่าการจะใช้ Laravel ได้ ต้องทำตามรูปแบบที่กำหนดไว้ ไม่ว่าจะเป็นชื่อไฟล์ ไดเร็กทอรี การเรียก class การใช้ method หรือการระบุตัวแปรต่างๆ เพื่อรับค่าและแสดงผลลัพธ์ออกมาผ่านทางหน้าเว็บ
ตอนต่อไป จะมาดูวิธีการใช้ Laravel เพื่อเชื่อมกับฐานข้อมูล