วันพฤหัสบดีที่ 25 มกราคม พ.ศ. 2561

[PHP + Laravel] มาทำรู้จักกับ Laravel กัน


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

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

          Laravel เป็น PHP Web Framework แบบโอเพนซอร์สที่สร้างขึ้นโดยคุณ Taylor Otwell ใช้สำหรับการพัฒนาเว็บแอปพลิเคชันตามรูปแบบ Model-View-Controller (MVC) มีฟีเจอร์ที่ช่วยให้การพัฒนาเว็บสามารถทำให้ได้ง่ายขึ้น เช่น การจัดการ Sessions, การตรวจสอบข้อมูล เป็นต้น ซึ่งในวันที่เขียนบทความอยู่นี้ Laravel ได้พัฒนามาถึงเวอร์ชันที่ 5.5 แล้ว โดยใน Laravel จะมี Artisan CLI (Artisan Command-Line Interface) หรือชุดคำสั่งที่ใช้เรียกงานผ่านทาง Command Line เพื่อช่วยในการพัฒนาเว็บติดมาด้วย นอกจากนี้ Laravel ยังเป็น Framework ที่มีคนนิยมใช้งานเป็นจำนวนมาก จึงเป็นเรื่องง่ายที่จะค้นหาข้อมูลจาก Google ในเวลาที่ติดปัญหาหรือมีข้อสงสัย

        สำหรับเพื่อน ๆ ที่สงสัยว่า MVC หรือ Model-View-Controller คืออะไร MVC ก็คือสถาปัตยกรรมซอฟต์แวร์ที่มีการแบ่งโค้ดของระบบออกเป็น 3 ส่วน ได้แก่ Model, View และ Controller ตามชื่อที่เรียกเลย ซึ่งแต่ละส่วนก็จะมีหน้าที่แตกต่างกันไป

  • Model คือ โค้ดส่วนที่ใช้สำหรับติดต่อกับฐานข้อมูล จัดการนำข้อมูลเข้าหรือออกจากฐานข้อมูล เพื่อนำไปประมวลผล
  • View คือ โค้ดส่วนที่ใช้แสดงผลออกทางหน้าจอ เพื่อติดต่อรับคำสั่งหรือข้อมูลจากผู้ใช้งาน
  • Controller คือ โค้ดส่วนที่ใช้ประมวลผลการทำงานตามที่ได้รับคำสั่งหรือข้อมูลจากผู้ใช้งาน (พูดง่าย ๆ ก็คือเป็นส่วนที่ควบคุมการทำงานของระบบ) เป็นตัวที่เชื่อมต่อทั้ง Model และ View ซึ่งเมื่อรับข้อมูลจากผู้ใช้งานเข้ามาแล้ว ก็จะดำเนินการตอบสนองต่อข้อมูลนั้นด้วย Model และส่งข้อมูลกลับไปยังส่วนแสดงผล View เพื่อแจ้งผลลัพธ์แก่ผู้ใช้งาน
          เมื่อผู้ใช้งานเปิดแอปพลิเคชันขึ้นมา Controller จะทำการส่ง View หน้าแรกของแอปพลิเคชันให้ผู้ใช้งาน เมื่อผู้ใช้คลิกคำสั่งหรือป้อนข้อมูลเข้ามา Controller จะทำการประมวลผลข้อมูลนั้น ๆ (ตรงจุดนี้ Controller อาจจะส่งต่อให้ Model เพื่อทำการบันทึกลงฐานข้อมูลก็ได้) แล้วจึงส่งผลลัพธ์การประมวลกลับไปแสดงที่ View เพื่อแจ้งผลลัพธ์แก่ผู้ใช้งาน

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

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


Share:

0 comments:

แสดงความคิดเห็น