แสดงบทความที่มีป้ายกำกับ Laravel แสดงบทความทั้งหมด
แสดงบทความที่มีป้ายกำกับ Laravel แสดงบทความทั้งหมด

วันอาทิตย์ที่ 28 มกราคม พ.ศ. 2561

[PHP + Laravel] ติดตั้งและทำความเข้าใจโครงสร้างของ Laravel


          ในบทความที่แล้ว เราได้ทำความรู้จัก Laravel กันไปแล้ว สำหรับบทความนี้เราจะมาติดตั้ง Laravel กัน ซึ่งวิธีการติดตั้ง Laravel เนี่ยจะต้องติดตั้งผ่าน Composer..... อ้าว! แล้วไอ้เจ้า Composer มันคืออะไรกันล่ะ นักแต่งเพลงเหรอ?


          Composer คือเครื่องมือสำหรับติดตั้ง Package หรือ Library จากแหล่งต่าง ๆ ของภาษา PHP เนื่องจาก Package หรือ Library ของ PHP Framework ที่เป็น Open Source นั้นมีอยู่มากมาย ซึ่งแต่ละตัวก็เกิดจากการสร้างสรรค์ของเหล่าโปรแกรมเมอร์มือฉมัง และกระจัดกระจายไม่เป็นหมวดหมู่ ในกรณีที่เราต้องการดาวน์โหลด Package หรือ Library มาใช้ เราก็ไม่อาจรู้ได้เลยว่าจะมีของแถมจำพวกไวรัสหรือมัลแวร์ติดมาด้วยหรือเปล่า รวมไปถึงไฟล์นั้นรองรับกับเวอร์ชั่นของ php ที่เราใช้งานได้หรือไม่

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

คลิกที่ "Composer-Setup.exe" แล้วคลิก Save File เล้ย

 
หลังจากดับเบิ้ลคลิกไฟล์ติดตั้งแล้วก็คลิก Next >

 
เลือก Path ของไฟล์ php.exe จากนั้นคลิก Next >

 
ถ้าเชื่อม Internet ต่อผ่าน Proxy ก็ให้กำหนด Proxy แล้วคลิก Next >

 
คลิก Install แล้วรอให้คอมพิวเตอร์ติดตั้ง.....

 คลิก Next > โล้ด

 
ติดตั้งเรียบร้อยแล้ว คลิก Finish ปิดหน้าต่างไปได้เลย

ทดสอบการทำงานโดยเปิดโปรแกรม Command Prompt ขึ้นมาแล้วพิมพ์คำสั่งว่า composer

          หลังการทดสอบเรียกใช้ composer เราก็จะเห็นว่าเจ้า composer สามารถทำงานได้แล้ว ถัดไปเราก็จะใช้คำสั่งของ composer ในการติดตั้ง Laravel ซึ่งคำสั่งที่ใช้คือ  composer create-project --prefer-dist laravel/laravel ชื่อโฟลเดอร์ที่จะสร้าง 

composer create-project --prefer-dist laravel/laravel test_laravel

          พอเรียกใช้คำสั่งแล้ว composer ก็จะดาวน์โหลดและติดตั้ง Laravel ซึ่งขั้นตอนนี้อาจจะใช้เวลานานนิดหน่อย


          เมื่อติดตั้ง Laravel เสร็จแล้วเราสามารถเข้า URL http://localhost/test_laravel/public/ เพื่อเปิดหน้าเว็บที่เราเพิ่งสร้างขึ้นได้ นอกจากนี้ถ้าเราเข้าไปในโฟลเดอร์ที่ติดตั้ง Laravel ก็จะพบกับไฟล์และโฟลเดอร์เป็นจำนวนมาก สาเหตุที่มีหลากหลายโฟลเดอร์เป็นเพราะ Laravel ถูกออกแบบมาโดยใช้หลัก MVC จึงมีการแยกโฟลเดอร์ตามลักษณะการทำงานออกอย่างชัดเจน สิ่งที่เราต้องทำก็คือการเขียนโค้ดและเซฟเก็บไว้ในโฟลเดอร์ให้ถูกต้อง โดยโฟลเดอร์สำคัญ ๆ ที่ควรรู้ได้แก่

  • app: โฟลเดอร์ที่เก็บไฟล์โค้ดทั้งหมดของเว็บ
    • Controllers: เป็นโฟลเดอร์ที่อยู่ภายในโฟลเดอร์ app/Httpd เอาไว้เก็บไฟล์ Controller ทั้งหมดของเว็บ
  • bootstrap: โฟล์เดอร์ที่เก็บไฟล์ซึ่งจะถูกโหลดทันทีเมื่อเว็บเริ่มต้นทำงาน
  • config: โฟลเดอร์ที่เก็บไฟล์การตั้งค่าต่าง ๆ ของเว็บ
  • database: โฟล์เดอร์ที่เก็บไฟล์จัดการฐานข้อมูล เช่น สร้าง, เพิ่มเติม หรือแก้ไขฐานข้อมูล
  • public: โฟลเดอร์ที่เก็บไฟล์สาธารณะที่ทุกคนสามารถเข้าถึงได้ เช่นไฟล์ index.php, ไฟล์ css หรือไฟล์รูปภาพเป็นต้น เป็นจุดรับทุก request ที่เข้ามาในเว็บ
  • resources: โฟล์เดอร์ที่เก็บไฟล์สำหรับแสดงผล หรือไฟล์ที่ยังไม่ได้คอมไพล์
    • views: เป็นโฟลเดอร์ที่เก็บไฟล์ View สำหรับแสดงผลของเว็บ
  • routes: โฟลเดอร์ที่เก็บไฟล์ตั้งค่า route สำหรับการเข้าถึงเว็บ
  • vendor: โฟลเดอร์ที่เก็บ Library ต่าง ๆ ที่ดาวน์โหลดโดย composer
          ถึงตรงนี้ เราก็ได้ทำการติดตั้ง Laravel แล้วก็พอจะรู้จักโครงสร้างคร่าว ๆ ไปเป็นที่เรียบร้อย ซึ่งเมื่อเราเข้าใจหลักในการจัดเก็บไฟล์ทั้งหมดแล้ว เราก็จะสามารถพัฒนาเว็บได้อย่างง่ายและมีประสิทธิภาพมากขึ้น


วันพฤหัสบดีที่ 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 เพื่อใช้งานกัน สำหรับบทความนี้ก็ขอจบเพียงเท่านี้ บ๊ายบายจ้าาาาา 😆