เรามาพูดถึงคนที่ไม่เคยใช้ Framework ใดๆเลยเขียน PHP  ลำดับพอจะอนุมานได้ประมาณนี้  สร้างไฟล์ อยากให้ url เป็นยังไงก็ตั้งชื่อไฟล์ตามนั้นไว้ในโฟลเดอร์โปรเจ็ก พอจะเข้าถึงหน้านั้นผ่านเบราเซอร์ เราก็พิมพ์ ชื่อไฟล์เข้าไปเลย เช่น

http://localhost/blog/questions.php

ใช่ปะ อยากมีหน้า

http://localhost/blog/answers.php

ก็แค่สร้างไฟล์ชื่อ answers.php ไว้ในโฟลเดอร์ blog

แต่กับ Laravel ซึ่งเป็น Framework ขั้นตอนมันมีมากกว่านั้น มาดูขั้นตอน

ถ้าคุณต้องการหน้า question (.php จะหายไป) สิ่งแรกที่ต้องทำคือ ไปอนุญาติให้ url ที่ต้องการสามารถเรียกผ่านเบราเซอร์ได้ก่อน จากนั้นจึงบอกต่อไปว่า ถ้ามีคนเรียก url นั้นๆเข้ามา จะให้ controller ตัวไหนทำหน้าที่ แล้วเขียนโค้ดเอาว่า จะให้ controller ตัวนั้นส่งอะไรกลับไปให้เบราเซอร์แสดงผล

สมมติ ผมต้องการหน้า

http://localhost/blog/public/answers

ผมต้องทำอย่างนี้

  1. บอก Laravel ว่าหากมีใครเรียก url นี้เข้ามา เราอนุญาตินะ โดยเปิดไฟล์ C:\xampp\htdocs\blog\app\Http\routes.php ขึ้นมา เขียนคำสั่งนี้ลงไป
  2. บอก Laravel ว่า url นี้เราให้คลาส QuestionController ฟังก์ชั่น getIndex ทำงานประมวลผล

    uses : ใช้ controller ไหน @ ฟังก์ชั่นไหน
    as : ตั้งชื่อให้ url อันนี้ไว้ใช้กับคำสั่งสร้าง url มันจะง่าย ปกติการตั้งชื่อ เขาจะใช้  ชื่อ controller ตามด้วย จุด แล้วก็ชื่อฟังก์ชั่น (ตัด get ทิ้ง) ตามด้วย จุด สุดท้ายจบด้วย verb
  3. สร้าง controller ตามที่ระบุไว้ การสร้าง controller ก็ง่ายๆ เปิด command line ขึ้นมา cd เข้าไปยังโฟลเดอร์โปรเจ็ก แล้วพิมพ์คำสั่งphp artisan make:controller QuestionController
    ก็จะได้ไฟล์ controller
    เปิดไฟล์ที่เพิ่งสร้างขึ้นมาเพื่อเขียนฟังก์ชั่น ไฟล์จะอยู่ที่ C:\xampp\htdocs\blog\app\Http\Controllers\QuestionController.php

ทีนี้ลองเรียกเพจ

http://localhost/blog/public/question

ผลลัพธ์ที่ได้

2016-05-27_22-13-32

ในฟังก์ชั่น getIndex จะเห็นว่าเราใช้คำสั่ง return ส่งค่าที่ต้องการแสดงผลกลับไปให้ Laravel  ตรงนี้เราอาจจะรู้สึกไม่ค่อยคุ้นเคยเท่าไร เพราะว่าปกติเราจะใช้คำสั่ง echo สิ่งที่ต้องการออกไปเอง

อย่างที่บอกแหละครับว่า งานบางส่วน Framework มันก็ช่วยจัดการให้เรา