รู้จักกับ Laravel PHP Framework ที่เจ๋งที่สุดในเวลานี้

      หลายคนคงเคยรู้จักกับ Laravel Framwork หรือเคยได้ยินกันมาบ้างแล้ว ซึ่งในบทความต่อไปนี้ เราจะมาพูดถึง Laravel Framework กันว่ามันดีอย่างไร และใช้งานอย่างไร



Laravel คืออะไร



Laravel เป็น PHP Framework สำหรับพัฒนาเว็บแอพพลิเคชั่น ที่ใช้งานง่าย ทำความเข้าใจง่ายและเรียนรู้ได้ง่าย ที่ถูกสร้างและพัฒนาขึ้นโดย Taylor Otwell ภายใต้ลิขสิทธิ์ของ MIT ซึ่งเป็น Open Source ที่เราสามารถนำไปใช้งานกันได้ฟรี



Taylor Otwell



โดยการออกแบบนั้นจะเป็นไปในรูปแบบ MVC (Model Views Controller) ซึ่งจะมีการแบ่งส่วนการทำงานออกเป็น 3 ส่วนดังนี้

  1. Model  คือ  ส่วนของการจัดการ ติดต่อ แก้ไข อัพเดท อ่านข้อมูลจากฐานข้อมูล เพื่อนำไปทำการประมวลผลหรือนำไปใช้งานต่อไป
  2. Views  คือ  ส่วนที่แสดงผล หรือส่วนที่มีปฏิสัมพันธ์กับผู้ใช้งาน เพื่อรับคำสั่งหรือรับข้อมูลจากผู้ใช้งาน
  3. Controller  คือ  กระบวนการทำงานของระบบ (Process) ซึ่งจะทำงานตามที่ได้รับคำสั่งจากผู้ใช้งาน และเป็นส่วนของการควบคุมการทำงานของระบบ


ปัจจุบัน Laravel Framework ถูกใช้งานกันอย่างแพร่หลายในโปรแกรมเมอร์สาย PHP เนื่องจากมีความปลอดภัยในระดับที่ไว้วางใจได้ การเขียนโค้ดนั้นเป็นสัดเป็นส่วน สามารถเข้าใจได้ง่ายเมื่อมีการแก้ไขหรือปรับปรุงโค้ด สามารถแบ่งงานการทำภายในทีมได้อย่างมีประสิทธิภาพ สามารถเรียกใช้งาน Class และ Object ต่างๆได้อย่างง่ายดาย โดยการเรียกใช้ Namespace ที่ทางผู้ออกแบบมีไว้ให้ ซึ่งช่วยให้ประหยัดเวลาในการเขียนโค้ดลงได้มาก อีกทั้งยังมี Command ในการสร้างไฟล์ต่างๆ พร้อม Template Code ให้เลย ดังนั้นจึงง่ายต่อการพัฒนาเป็นอย่างมาก โดยสามารถติดตั้งได้อย่างง่ายดาย ด้วย Composer ก็สามารถติดตั้งโปรเจ็คและพัฒนาได้ทันที


โดย Laravel นั้นได้ถูกพัฒนามาหลายเวอร์ชั่นแล้ว ดังนี้


เวอร์ชั่น

วันที่เผยแพร่

เวอร์ชั่น PHP

1.0June 2011
2.0September 2011
3.0February 22, 2012
3.1March 27, 2012
3.2May 22, 2012
4.0May 28, 2013≥ 5.3.0
4.1December 12, 2013≥ 5.3.0
4.2June 1, 2014≥ 5.4.0
5.0February 4, 2015≥ 5.4.0
5.1 LTSJune 9, 2015≥ 5.5.9
5.2December 21, 2015≥ 5.5.9
5.3August 23, 2016≥ 5.6.4
5.4January 24, 2017≥ 5.6.4
5.5 LTSAugust 30, 2017≥ 7.0.0
5.6February 7, 2018≥ 7.1.3
5.7September 4, 2018≥ 7.1.3
5.8February 26, 2019≥ 7.1.3
6 LTSSeptember 3, 20197.2 – 8.0
7March 3, 20207.2 – 8.0
8September 8, 20207.3 – 8.1
9February 8, 20228.0 – 8.1
10February 14, 2023≥ 8.1
11Q1 2024≥ 8.2



โดยปัจจุบันเราได้ใช้งานกันถึงเวอร์ชั่น 10 แล้ว และเวอร์ชั่น 11 จะมาให้เราใช้งานกันได้ในไตรมาสแรกของปี 2024 นี้




โครงสร้างของไฟล์และโฟลเดอร์ของ Laravel 



โฟลเดอร์
app  - ใช้เก็บไฟล์ Model , Controller สำหรับใช้ในการประมวลผลและติดต่อฐานข้อมูลหรือเรียกง่ายๆว่าเป็นส่วนควบคุมการทำงานนั่นเอง
config - ส่วนนี้จะเก็บไฟล์ที่เกี่ยวกับการ Config หรือค่าคงที่และตัวแปรต่างๆที่ใช้ในระบบ
database - จะเก็บไฟล์ที่เกี่ยวข้องกับฐานข้อมูล เช่น migration ซึ่งทำหน้าที่ในการสร้างฐานข้อมูล , seeder ทำหน้าที่ในการสร้างข้อมูลเริ่มต้นให้กับตารางและคอลัมน์ , factory ทำหน้าที่ในการสร้างข้อมูลจำลองในฐานข้อมูล ที่ใช้สำหรับทดสอบระบบ
public - ส่วนนี้เป็นส่วนที่จะเก็บไฟล์ index.php และไฟล์รูปภาพที่ต้องการใช้แบบสาธารณะ เช่น โลโก้ รูปภาพหัวเว็บไซต์ และอื่นๆเช่น ไฟล์ dist และ vendor ต่างๆที่ใช้ในการตกแต่งหรือ Library ต่างๆ ที่ช่วยให้หน้าเว็บสวยงามขึ้น
resources - ส่วนนี้จะใช้เก็บไฟล์ blade template และไฟล์ Javascript , CSS ต่างๆ ที่ Laravel จะนำไปทำการ Render เป็นหน้าเว็บที่พร้อมใช้งานให้เรา
routes - เป็นส่วนที่ใช้กำหนดเส้นทางให้กับเว็บไซต์ของเรา ทำให้ระบบรู้ว่า เส้นทางไหนควรทำงานที่ส่วนไหนนั่นเอง
storage - ใช้เก็บไฟล์ที่ เช่น ไฟล์อัปโหลด ไฟล์ Logs ,Cache , Session ต่างๆ
tests - ใช้เก็บไฟล์ Testing ที่ใช้สำหรับการทดสอบระบบ หรือการทำ UAT 
vendor - เป็นที่เก็บรวบรวม Package หรือ Dependencies ต่างๆของระบบ เราสามารถติดตั้งเพิ่มเติมได้ด้วย Composer
ไฟล์
.env - ใช้เก็บข้อมูล Environments ต่างๆที่ใช้งานในระบบ เช่น host รหัสผ่าน ฐานข้อมูล และค่าอื่นๆ
composer.json - เป็นไฟล์ที่จะเก็บรวบรวมสภาพแวดล้อมที่จำเป็นต่อการรันโปรเจ็ค เช่นเวอร์ชั่นของระบบ และเวอร์ชั่นของ php และ แพคเกจต่างๆที่ได้ติดตั้งลงในโปรเจ็ค








ในส่วนของการติดตั้งโปรเจ็คสามารถติดตามได้ในบทความต่อไปนะครับ


สรุป

Laravel เป็น PHP Framework ที่มีการออกแบบที่ดี ง่ายต่อการเขียน การจัดการ และการทำความเข้าใจ ทำให้เป็นที่นิยมในกลุ่มผู้พัฒนาเว็บแอพพลิเคชั่นด้วยภาษา PHP เนื่องจากทำให้สามารถทำงานเสร็จได้รวดเร็วมากยิ่งขึ้น แต่ทั้งนี้ทั้งนั้น ก็ขึ้นอยู่กับความเหมาะสมของงานแต่ละโปรเจ็ค อยู่ที่ดุลยพินิจของผู้พัฒนาว่าจะนำไปใช้ในงานประเภทไหนบ้าง




แท๊ก

Laravel PHP
บทความยอดนิยม