Laravel คืออะไร

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

เพราะฉะนั้น การเลือกใช้ Laravel ที่คนทั่วไปนิยมนั้นเป็นเรื่องที่ดี ต่อให้มันมีข้อเสียบ้างก็ตาม

ข้อดีของ Laravel คือ ทีมโปรแกรมเมอร์เขาไม่พยายามเขียนโค้ดเองทั้งหมด แต่จะไปเอาคลาสที่ดีที่เขียนแจกไว้แล้วในอินเตอร์เน็ต มาผนวกเข้ากับ Laravel บางส่วนที่ต้องเขียนเองก็เขียนเอง อย่างคอร์หลักนี่เขาหยิบโค้ดเอามาจาก symfony เลยทีเดียว

ส่วนข้อเสีย Laravel มันค่อนข้างอินดี้หน่อยๆ  พอมันเปลี่ยนเวอชั่นทีก็มักมีอะไรเปลี่ยนไปบางอย่าง  แล้วการจะอัปเกรดจากเวอร์ชั่นเก่ามาเวอร์ชั่นใหม่ ค่อนข้างวุ่นวายพอสมควร

แต่ก็อย่างผมว่า ถ้ามันได้รับความนิยม ก็มองข้ามส่วนเสียมันไปซะ เฮไปตามคนหมู่มากชีวิตไม่ค่อยลำบากมากหรอกเชื่อเหอะ

ทำไมต้อง Framework

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

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

ทุกคนที่เคยใช้เฟรมเวิร์คตัวนั้นๆมา มันเลยคุ้นเคยเมื่อต้องมาเจอกับงานเก่าที่คนอื่นทำไว้  แบบมันจูนติดได้ง่าย หาโค้ดได้ง่าย เพราะรู้อยู่แล้วนี่ว่าไอ้นี่มันต้องอยู่โฟลเดอร์ไหน ไอ้นั่นมันอยู่โฟลเดอร์ไหน

สิ่งข้างเคียง Laravel

สิ่งเหล่านี้บางอย่างคุณไม่จำเป็นต้องรู้ก็ได้ แต่ก็อย่างว่า คนอื่นมันรู้และพูดถึงกัน ถ้าคุณไม่รู้คุณก็จะงงอีก เพราะงั้นรู้มันก็ดีกว่า นิดๆหน่อยๆก็ยังดี

  1. composer
    composer เนี่ยมันเป็นโปรแกรมที่ให้เรามาติดตั้งบนเครื่องที่เราใช้งาน ประโยชน์ของมันน่ะเหรอ มันช่วยเราดาวโหลดปลักอินมาติดตั้งในโปรเจ็ก  ถามว่าไม่ใช้ composer ได้มั้ย อยากดาวน์โหลดโค้ดแล้วมาวางในโฟลเดอร์เอง  ไม่รู้สิผมก็ไม่เคยลอง  มันคงลำบากมั้ง  เพราะเวลาเราติดตั้งคลาสบางตัวลงในโปรเจ็ก มันจะมีคลาสข้างเคียงด้วย
    เอาเป็นว่า ใช้มันเหอะ ถ้าหากคุณจะใช้ Laravel เดี๋ยวผมสอนเอง
  2. packagist.com อันนี้เป็นเว็บไซต์ที่เราไว้หาคลาสมาใช้งาน เขารวบรวมไว้เพียบ มีแทบทุกอย่างที่ต้องการ composer เวลาเราสั่งให้มันติดตั้งคลาสบางตัว มันไปเอามาจากนี่แหละ  และในเว็บ packagist.com ในหน้ารายละเอียดคลาส เขาก็ให้คำสั่งของ composer มาให้เราด้วย
  3. php artisan อันนี้เป็นคำสั่งในตัว Laravel เอง เป็นคอมแมนไลน์ สำหรับสร้าง model สร้าง controller สร้างนู่นนี่นั่นเยะแยะ เรียกว่าเป็น utility อำนวยความสะดวกให้เรา เราไม่ใช้มันก็ได้ สร้างไฟล์ model สร้างไฟล์ controller เอง แต่ถ้าหากใช้คำสั่ง มันก็เร็วกว่า เท่านั้นเอง คำสั่งนี้ติดมากับ Laravel อยู่แล้วไม่ต้องทำอะไรเพิ่ม