บทความ

Laravel คืออะไร ทำงานอย่างไร และสถาปัตยกรรมพื้นฐานสำหรับสร้างเว็บแอปพลิเคชัน

Laravel เป็นเว็บเฟรมเวิร์กที่ใช้ PHP สำหรับสร้างเว็บแอปพลิเคชันระดับไฮเอนด์ โดยใช้ไวยากรณ์ที่เรียบง่ายแต่ทรงพลัง

เฟรมเวิร์ก Laravel PHP มาพร้อมกับคอลเล็กชันเครื่องมือมากมาย และมอบสถาปัตยกรรมให้กับแอปพลิเคชันที่ผลิตขึ้น เป็นเฟรมเวิร์ก PHP แบบโอเพ่นซอร์สโดยใช้สถาปัตยกรรม MVC:

  • กรอบ: คือการรวบรวมเมธอด คลาส หรือไฟล์ที่โปรแกรมเมอร์ใช้ และยังสามารถขยายการทำงานโดยใช้โค้ดของเขาเอง
  • สถาปัตยกรรม: เป็นรูปแบบการออกแบบเฉพาะที่เฟรมเวิร์กติดตาม Laravel เป็นไปตามสถาปัตยกรรม MVC

เอ็มวีซี

คำย่อประกอบด้วยอักษร XNUMX ตัว มีความหมายดังนี้

  • M: แม่แบบ. โมเดลคือคลาสที่เกี่ยวข้องกับฐานข้อมูล ตัวอย่างเช่น หากเรามีผู้ใช้ในแอปพลิเคชัน เราก็จะมีโมเดลผู้ใช้ซึ่งมีหน้าที่ในการสอบถามตารางผู้ใช้ หากเรามีโมเดลผู้ใช้ เราก็จะมีตารางผู้ใช้ด้วย
  • V: ดู. มุมมองคือคลาสที่ดูแลทุกสิ่งที่เราเห็นเกี่ยวกับแอปพลิเคชันในเบราว์เซอร์
  • C: ผู้ควบคุม. คอนโทรลเลอร์เป็นตัวกลางที่ดูแลทั้งโมเดลและมุมมอง คอนโทรลเลอร์คือคลาสที่ดึงข้อมูลจากโมเดลและส่งไปยังคลาสมุมมอง

ประโยชน์และคุณสมบัติ

การสร้างระบบการอนุญาตและการพิสูจน์ตัวตน

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

บูรณาการกับเครื่องมือ

Laravel ผสานรวมกับเครื่องมือมากมายที่สร้างแอปที่เร็วขึ้น ไม่จำเป็นต้องสร้างแอปเท่านั้น แต่ยังต้องสร้างแอปที่เร็วขึ้นด้วย การรวมเข้ากับแบ็กเอนด์แคชเป็นหนึ่งในขั้นตอนหลักในการปรับปรุงประสิทธิภาพของเว็บแอป Laravel ผสานรวมกับแบ็กเอนด์แคชยอดนิยมเช่น Redis และ Memcached

การรวมบริการจดหมาย

Laravel รวมเข้ากับบริการอีเมล บริการนี้ใช้เพื่อส่งอีเมลแจ้งเตือน มี API ที่สะอาดและเรียบง่ายซึ่งช่วยให้คุณสามารถส่งอีเมลได้อย่างรวดเร็วผ่านบริการภายในองค์กรหรือบนคลาวด์

ทดสอบระบบอัตโนมัติ

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

การแยกรหัสตรรกะทางธุรกิจออกจากรหัสการนำเสนอ

การแยกรหัสตรรกะทางธุรกิจและรหัสการนำเสนอช่วยให้นักออกแบบเค้าโครง HTML สามารถเปลี่ยนรูปลักษณ์โดยไม่ต้องโต้ตอบกับนักพัฒนา นักพัฒนาสามารถแก้ไขจุดบกพร่องได้เร็วกว่าหากมีการแยกรหัสตรรกะทางธุรกิจ (ตัวควบคุม) และรหัสการนำเสนอ (มุมมอง) เรารู้ว่า Laravel เป็นไปตามสถาปัตยกรรม MVC ดังนั้นการแยกจึงเป็นกุญแจสำคัญ

การแก้ไขช่องโหว่ทางเทคนิคที่พบบ่อยที่สุด

Laravel เป็นเฟรมเวิร์กที่ปลอดภัยเนื่องจากปกป้องเว็บแอปพลิเคชันจากช่องโหว่ด้านความปลอดภัยทั้งหมด ช่องโหว่เป็นหนึ่งในส่วนที่สำคัญที่สุดในการพัฒนาแอปพลิเคชันเว็บ มูลนิธิ OWASP องค์กรอเมริกัน defiกำจัดช่องโหว่ด้านความปลอดภัยที่สำคัญ เช่น การแทรก SQL, การปลอมแปลงคำขอ, การเขียนสคริปต์ และอื่นๆ

CRON: การวางแผนการกำหนดค่าและกิจกรรมการจัดการ

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

การสร้างโปรเจ็กต์ Laravel

ในการสร้างโปรเจ็กต์ Laravel แรกของคุณ คุณต้องมีไฟล์ Composer ติดตั้งแล้ว หากไม่มีอยู่ในเครื่องของคุณ ให้ดำเนินการติดตั้งตามที่อธิบายไว้ในบทความของเรา แต่ง.

หลังจากนั้นให้สร้างไดเร็กทอรีใหม่ในระบบของคุณสำหรับโครงการ Laravel ใหม่ของคุณ จากนั้น นำทางไปยังเส้นทางที่คุณสร้างไดเร็กทอรีใหม่ และเรียกใช้คำสั่งสร้างโปรเจ็กต์ composer create-projectโดยพิมพ์คำสั่งต่อไปนี้:

composer create-project laravel/laravel myex-app

คำสั่งนี้ (เวอร์ชัน 9.x) สร้างโปรเจ็กต์ชื่อ myex-app

หรือคุณสามารถสร้างโครงการใหม่ Laravel ทั่วโลกติดตั้งตัวติดตั้งของ Laravel วิธี Composer:

จดหมายข่าวนวัตกรรม
อย่าพลาดข่าวสารที่สำคัญที่สุดเกี่ยวกับนวัตกรรม ลงทะเบียนเพื่อรับพวกเขาทางอีเมล
composer global require laravel/installer
laravel new myex-app

หลังจากสร้างโปรเจ็กต์แล้ว ให้เริ่มเซิร์ฟเวอร์การพัฒนา Laravel ในเครื่องโดยใช้คำสั่ง serve จาก 'Artisan ซีแอลไอของ Laravel:

php artisan serve

หลังจากเริ่มเซิร์ฟเวอร์การพัฒนา Artisanแอปพลิเคชันของคุณจะสามารถเข้าถึงได้ในเว็บเบราว์เซอร์ของคุณที่ http://localhost:8000. ตอนนี้คุณพร้อมใช้งานแล้ว Laravel. แน่นอน คุณอาจต้องการตั้งค่าฐานข้อมูลด้วย

โครงสร้างแอปพลิเคชันใน Laravel

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

การกำหนดค่า

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

ฐานข้อมูล

ไดเร็กทอรีนี้มีพารามิเตอร์ต่างๆ สำหรับการทำงานของฐานข้อมูล ประกอบด้วยสามไดเร็กทอรีย่อย:

  • Seeds: มีคลาสที่ใช้สำหรับฐานข้อมูลการทดสอบหน่วย
  • การย้ายข้อมูล: โฟลเดอร์นี้ใช้สำหรับการสร้างและการจัดตำแหน่งของโครงสร้างฐานข้อมูลกับแอปพลิเคชัน
  • โรงงาน: โฟลเดอร์นี้ใช้สำหรับสร้างบันทึกข้อมูลจำนวนมาก
สาธารณะ

เป็นโฟลเดอร์รูทที่ช่วยในการเริ่มต้นแอปพลิเคชัน Laravel เช่น การเริ่มต้นแอปพลิเคชัน รวมไฟล์และโฟลเดอร์ต่อไปนี้:

  • .htaccess: ไฟล์ที่ให้การกำหนดค่าเซิร์ฟเวอร์
  • javascript และ css: มีไฟล์ทรัพยากรทั้งหมดของแอปพลิเคชัน Laravel
  • index.php: ไฟล์ที่จำเป็นในการเริ่มต้นเว็บแอปพลิเคชัน
แหล่งข้อมูล

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

  • สินทรัพย์: โฟลเดอร์มีไฟล์เช่น LESS และ SCSS ซึ่งจำเป็นสำหรับรูปแบบของเว็บแอปพลิเคชัน
  • lang: รวมการกำหนดค่าสำหรับการแปลหรือการทำให้เป็นภายใน;
  • มุมมอง: เป็นไฟล์หรือเทมเพลต HTML ที่โต้ตอบกับผู้ใช้ปลายทางและมีบทบาทหลักในสถาปัตยกรรม MVC
พื้นที่จัดเก็บ

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

  • แอพ: โฟลเดอร์นี้มีไฟล์ที่เรียกต่อเนื่องกัน
  • กรอบงาน: มีเซสชัน แคช และมุมมองที่ถูกเรียกใช้บ่อย
  • บันทึก: มีไฟล์ที่ติดตามปัญหารันไทม์ โดยเฉพาะบันทึกข้อยกเว้นและข้อผิดพลาดทั้งหมด
ทดสอบs

กรณีทดสอบหน่วยทั้งหมดมีอยู่ในไดเร็กทอรีนี้ การตั้งชื่อสำหรับคลาสกรณีทดสอบคือ camel_case และเป็นไปตามหลักการตั้งชื่อตามฟังก์ชันการทำงานของคลาส

ผู้ขาย

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

โฟลเดอร์ผู้ขายประกอบด้วยการอ้างอิงทั้งหมดของ แต่ง.

Ercole Palmeri

จดหมายข่าวนวัตกรรม
อย่าพลาดข่าวสารที่สำคัญที่สุดเกี่ยวกับนวัตกรรม ลงทะเบียนเพื่อรับพวกเขาทางอีเมล

บทความล่าสุด

การชำระเงินออนไลน์: นี่คือวิธีที่บริการสตรีมมิ่งทำให้คุณชำระเงินตลอดไป

ผู้คนนับล้านชำระค่าบริการสตรีมมิ่ง โดยจ่ายค่าธรรมเนียมการสมัครสมาชิกรายเดือน เป็นความเห็นทั่วไปที่คุณ...

29 2024 เมษายน

Veeam มีการสนับสนุนแรนซัมแวร์ที่ครอบคลุมที่สุด ตั้งแต่การป้องกันไปจนถึงการตอบสนองและการกู้คืน

Coveware by Veeam จะยังคงให้บริการตอบสนองต่อเหตุการณ์การขู่กรรโชกทางไซเบอร์ต่อไป Coveware จะนำเสนอความสามารถในการนิติเวชและการแก้ไข...

23 2024 เมษายน

การปฏิวัติสีเขียวและดิจิทัล: การบำรุงรักษาเชิงคาดการณ์กำลังเปลี่ยนแปลงอุตสาหกรรมน้ำมันและก๊าซอย่างไร

การบำรุงรักษาเชิงคาดการณ์กำลังปฏิวัติภาคส่วนน้ำมันและก๊าซ ด้วยแนวทางเชิงรุกและนวัตกรรมในการจัดการโรงงาน...

22 2024 เมษายน

หน่วยงานกำกับดูแลการต่อต้านการผูกขาดของสหราชอาณาจักรส่งสัญญาณเตือน BigTech เกี่ยวกับ GenAI

UK CMA ได้ออกคำเตือนเกี่ยวกับพฤติกรรมของ Big Tech ในตลาดปัญญาประดิษฐ์ ที่นั่น…

18 2024 เมษายน

อ่านนวัตกรรมในภาษาของคุณ

จดหมายข่าวนวัตกรรม
อย่าพลาดข่าวสารที่สำคัญที่สุดเกี่ยวกับนวัตกรรม ลงทะเบียนเพื่อรับพวกเขาทางอีเมล

ติดตามเรา