Framework ที่ดี ต้องมี Laravel อยู่ 1 ในนั้นด้วยก็เพราะ

framework ที่ดี laravel

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

นอกจากนั้น มันยังมีความแข็งแกร่งของ บรรดาเหล่า web framework ต่างๆที่มากพอจะสามารถ ทำให้คุณลดระยะเวลาการผลิตงานลงไปได้มากโข แถมยังสะดวกและปลอดภัยมากขึ้นด้วย นี่ยังไม่รวมกับความที่ code จะดูดี มีระเบียบขึ้นมากด้วยนะ

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

ถ้าจะพูดถึง Framework ที่ดี ที่วันนี้ได้รับความนิยมสูงๆ อันที่จริงก็มีอยู่ไม่กี่ตัวที่คนไทยใช้ๆกันอยู่ เช่น

  • Laravel
  • Symphony
  • Codeigniter
  • Cake
  • Phalcon
  • Yii
  • Zend

ส่วนตัวผม เริ่มต้นมาจาก Codeigniter ก่อนจากนั้นก็ไปจับ Cake ชอบตรงมันมี auto เยอะดี สะดวก แต่ทำไปทำมาไม่ค่อยถนัดมือแฮะ พอได้มีโอกาสมารู้จักกับ zend 2 นับว่าระบบใหญ่มาก จนไม่อยากเขียนเลย 555 เพราะมันเหมาะกับระบบขนาดใหญ่จริงๆ เล็กๆนี่ไม่ควรเลย ล่าสุดเลยไปจับ Laravel และสุดท้ายทุกวันนี้ทำงานจริงๆแค่ Codeigniter กับ Laravel อยู่ดี

ส่วน Laravel เป็นเครื่องมือที่ค่อนข้าง ให้อิสระแก่นักพัฒนามากเลย และมันมีความใกล้เคียงกันกับ Codeigniter พอสมควร ทำให้การเขียนและการทำงานแตกต่างกันไม่มากนัก และด้วยรูปแบบความเป็น MVC เหมือนกันด้วยแล้ว ยิ่งง่ายต่อความเข้าใจใหญ่

Laravel ช่วยให้เราทำการ create API กับการทำงาน REST ได้ง่ายมากๆ คือเตรียมความพร้อมมาเพื่อยุคสมัยนี้ น่าจะเกิดจากการปรับตัวตลอดเวลา และการอัพเดทที่ต่อเนื่องมากๆของทีมพัฒนาเอง

แถมความเท่ห์ ตกไปอยู่กับ เครื่องมืออย่าง artisan ที่ให้เราสามารถทำงานได้หลากหลายบนกล่องดำ ตั้งแต่การสร้าง route แบบเสร็จสรรพพร้อมใช้งาน ไปยัน model ไป controller และทีเด็ดตรงการทำงานกับ Database กับการ mapping ต่างๆด้วย ที่ให้เราแก้ไขได้ด้วย code PHP เองแต่พอ run แล้ว MySQL ก็ปรับตามเงื่อนไขที่เรา code ลงไปเลย

ส่วนความเหมาะสม อันที่จริงก็ไม่ได้บอกว่า laravel เองเหมาะกับเว็บไซต์ขนาดเล็กๆเท่าไหร่หรอกนะ เพราะอย่างเรื่องของการตั้งค่า การทำงานหลังบ้านถ้าจะเอาจริงๆมันไม่ได้เหมาะกับพวก share host อะไรเลย มันเหมาะกับพวก B2B หรือพวก enterprise websites application อะไรแบบนั้นมากกว่า พวกที่ต้องคอย continuous ตลอด updates นั้นนี่และ features ใหม่ๆ

วันนี้เลยมาแอบขอสรุปว่า ทำไม Laravel ถึงถูกนักพัฒนาเลือกมาทำงานจากที่เคยไปอ่านๆมา มันมีเสน่ห์หรือมนต์คลังอะไรกันแน่

1.Modern

มันมีการปรับตัวตลอดเวลา ไม่ใช่แค่การปรับเพื่อลดปัญหา bug แต่ยังเป็นการปรับเพื่อรับเครื่องมือใหม่ๆ ปรับเพื่อเทคโนโลยีใหม่ๆ ปรับตัวเพื่อให้สอดคล้องกับวัฒนธรรมในการพัฒนาที่หมุนอย่างรวดเร็ว เช่นการใช้ composer เพื่อให้เรื่องของ library ต่างๆ ไม่มีผลกับระบบ เพราะอัพเดทได้ตลอด แถมยังยัด vue js เค้ามาร่วมโครงสร้างด้วย นี่มันสุดจริงๆ

2.Standard Code

ตัว laravel เองมีการพัฒนาแบบเน้นการทำงาน การออกแบบที่อยู่บนกรอบของสังคมนักพัฒนาฝั่ง PHP พวก การจัดวาง file การจัดวาง code การตั้งชื่อต่างๆ การเรียกใช้ ล้วนแล้วแต่มาบนพื้นฐานของความเป็นที่รองรับทั้งนั้น

3.Tool integration

ก็อย่างที่เล่าไปเมื่อกี้ว่า เครื่องมืออย่างพวก การสร้าง RESTFul หรือการทำงานกับ artisan และบรรดาเหล่า function หรือ features ต่างๆของตัวมันเองที่มีมาให้แบบพร้อมเพียง ทำให้การทำงานง่ายขึ้นมาก เร็วขึ้นมา หรือแม้แต่พวก cache ต่างๆก็มีมาให้พร้อมหมด

4.Blade Template Engine

ด้วยความที่เปิดรับการทำงานของ template engine หลากหลายตัวแต่ที่กำหนดมาเป็นพื้นฐานเลยก็คือ Blade หรือเจ้า .blade.php ที่เป็นไฟล์ extension ที่คุ้นตากัน มันทำให้การทำงานสะดวกขึ้นมาก ทั้งการวาง layouts การทำ re-using code การแบ่งสัดส่วนแบบ templates แถมยังมี เครื่องมือให้เราเขียน loop เขียน for ต่างๆได้ง่ายขึ้นด้วย

5.Security System

ปัญหาใหญ่ของนักพัฒนา PHP คือ การเขียนยังไงให้มันปลอดภัย ทั้งจากเรื่องของ SQL injection ที่ยังคงเป็นปัญหาใหญ่ของการลุกล้ำเข้าสู่ระบบเสมอมา หรือเรื่องของการ cross-site request forgery และเรื่องอื่นๆอีกมากมาย อ่อ…แล้วยังเรื่องของการเก็บรหัสผ่านพวก plan text หรือ md5 อีกด้วย ตัว laravel เอง เลยหยิบเอาเรื่องนี้มามุ่งเน้นการพัฒนาเป็นหลัก ซึ่งนับว่าทำได้ดีมากๆด้วย ทำให้ช่วยลดปัญหาไปได้เยอะ อย่างตัว form ก็บังคับให้ส่ง token มาด้วย หรือการเก็บรหัสผ่านแบบ Bcrypt Hashing ก็เอาเรื่อง

6. Monolog Library

เพราะอีกปัญหาที่ยากของระบบคือการที่เราต้องคอยตรวจสอบ ว่า Data-entry ต่างๆบนระบบเรานั้น มีอะไรเกิดขึ้นบ้าง มีความผิดพลาดอะไรไหม และตัวระบบทำการ presented อะไรออกมาหลังจากเกิดปัญหาเหล่านั้น เรื่องของ log เลยเป็นส่วนสำคัญเพื่อให้เราทราบถึงข้อมูลต่างๆที่เกิดขึ้น และแก้ไขปัญหาได้ ซึ่งทาง Laravel เลือกเอา Monolog มาเป็นเครื่องมือจัดการที่ดีมาก

7.Mail Service

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

8.URL Routing

อันนี้นับเป็นทีเด็ดมาก ที่ส่วนตัวแล้วชอบมาก เพราะนอกจากจะเป็น Route ธรรมดาทั่วๆแล้ว มันยังมีความสามารถในการ พาไปหาหน้า 404 หรือหน้า Error ตลอดเวลา (ถ้าเราเปิดไว้) และยัง triggered การมาในรูปแบบต่างๆของค่าที่เรียกบน URL นั้นๆด้วย

จริงๆแล้วไม่ได้บอกว่า Laravel เป็น PHP Framework ที่ดี ที่สุดนะครับ แต่แค่บอกว่าเงื่อนไขที่คนเลือก มาใช้งานน่าจะเป็นประมาณนี้ นักพัฒนาที่ดีต้องไม่ยึดติดกับเครื่องมือนะครับ

จอมยุทธ์ที่เก่งกาจ เค้าเก่งที่ฝีมือ แม้จะใช้กิ่งไผ่แทนดาบก็ยังเก่งเหนือใคร

Website Laravel

คุณอาจสนใจเรื่องนี้
Link: Video แนะนำวิธีการใช้งาน Laravel PHP Framework

คุณพ่อของน้องเกี้ยมอี๋ ไม่รู้ว่าใครซนกว่ากัน ทำงานเป็นโปรแกรมเม่า และ System Analyst ประจำบ้าน ดูหนัง ดูซีรี่ย์ เล่นเกมส์กับลูกชาย และเขียนบทความ

Leave a Reply

Your email address will not be published. Required fields are marked *

Back To Top