Laravel 8.6.0: คู่มือการอัปเกรดที่ครอบคลุม

เผยแพร่แล้ว: 2022-01-02

เฟรมเวิร์ก PHP ที่เป็นไปตามรูปแบบ MVC (Model-View-Controller) ที่แข็งแกร่งเพื่อเพิ่มประสิทธิภาพการทำงาน เปิดตัวครั้งแรกในปี 2554 และส่งผลกระทบต่อตลาดและเติบโตอย่างต่อเนื่องตั้งแต่นั้นมา หลายคน จ้างนักพัฒนา Laravel โดยเฉพาะ เนื่องจากมีคุณสมบัติและฟังก์ชันเฉพาะสำหรับโลกดิจิทัล

คุณสมบัติเด่นบางประการของ Laravel:

แบบจำลองเชิงวัตถุที่มีวาทศิลป์

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

มุมมองด้วย Blade

ส่วนมุมมองมีโค้ด HTML ทั้งหมดที่ใช้ในแอปพลิเคชัน ซึ่งหมายความว่าไม่จำเป็นต้องรวมตรรกะทางธุรกิจกับเลเยอร์การนำเสนอ กลไกล่อใบมีดรองรับโดย Views ที่อนุญาตให้เขียนโค้ดที่ใช้ซ้ำได้ของ HTMS และไฟล์เลย์เอาต์ทั่วไป

คอนโทรลเลอร์

การใช้ตัวควบคุม คุณสามารถจัดกลุ่มตรรกะการจัดการคำขอที่เกี่ยวข้องเป็นคลาสเดียว

การตรวจสอบสิทธิ์

การทำกลไกการพิสูจน์ตัวตนให้สมบูรณ์นั้นทำได้เพียงสองขั้นตอน:

  • ช่างฝีมือ php ยี่ห้อ: auth
  • php ช่างฝีมือ migrate

Laravel ไม่เหมือนกับเว็บแอปพลิเคชันอื่น ๆ ที่ใช้ระบบตรวจสอบสิทธิ์แทนที่จะให้มาฟรี

เครื่องยนต์แม่แบบ

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

ความปลอดภัย

ความปลอดภัยของเว็บแอปพลิเคชั่นมีความสำคัญมากในโลกดิจิทัลและคาดหวังจากทุกแพลตฟอร์มออนไลน์ เฟรมเวิร์ก Laravel ใช้กลไกแบบเค็มและแบบแฮชสำหรับรหัสผ่าน ซึ่งหมายความว่าจะไม่บันทึกข้อมูลเป็นข้อความธรรมดา กรอบ งาน การพัฒนาเว็บ PHP ทำงานบนคำสั่ง SQL ที่เตรียมไว้เพื่อป้องกันการโจมตีของการฉีด SQL และยังใช้อัลกอริธึม Bcrypt Hashing เพื่อสร้างรหัสผ่านที่เข้ารหัส

การกำหนดเส้นทาง

Laravel ให้กลไกการกำหนดเส้นทางอย่างง่าย และสร้างรายการที่มีอยู่ในไฟล์เดียว และทำให้เส้นทางสะดวกต่อการเข้าถึง คุณสามารถมีหลายไฟล์สำหรับแอปพลิเคชันขนาดใหญ่กว่าที่รองรับ API คุณสามารถเพิ่มคำอธิบายประกอบ @csrf ลงในแบบฟอร์มเพื่อป้องกันการโจมตี CSRF (Cross-Site Request Forgery)

บันทึกประจำรุ่น

เพิ่ม

  • ให้แสงสว่าง\Collections\LazyCollection::rakeUntilTimeout()
  • ตัวเลือก `–schema-path` เพื่อ `migrate: fresh` คำสั่ง

แก้ไขแล้ว

  • จุดในตัวแปร
  • บั๊กในการจัดการข้อผิดพลาดในการปิดงานตามกำหนดเวลาได้รับการแก้ไข
  • แก้ไขส่วนหัว Retry-After ที่ว่างเปล่าในโหมดการบำรุงรักษา
  • `mysqldump: ตัวแปรที่ไม่รู้จัก 'column-statistics=0' ได้รับการแก้ไขแล้วสำหรับ MariaDB schema dump
  • ไม่มีการหลบหนีสองครั้งบน ComponentTagCompiler.php

มีอะไรใหม่ใน Laravel 8.6.0

ไดเร็กทอรีโมเดล

ด้วย Laravel 8 โฟลเดอร์ app/Models จะถูกรวมไว้ตามค่าเริ่มต้น แม้ว่าคุณจะไม่ต้องการไดเร็กทอรี Models และลบไดเร็กทอรี app/Models ก็ตาม คำสั่ง artisan จะเพิ่มโมเดลใหม่ในไดเร็กทอรี app/ โดยตรง

ปรับปรุงการแคชเส้นทาง

อาร์เรย์ PHP ขนาดใหญ่มีการรวบรวมเส้นทางทั้งหมด ซึ่งทำให้แพลตฟอร์มมีประสิทธิภาพและรวดเร็วยิ่งขึ้น ก่อนหน้านี้ หากเส้นทางมีการปิด การแคชเส้นทางจะไม่ทำงาน แต่ด้วยการอัปเดต การแคชเส้นทางจะทำงานได้ดีกับการปิด

ปรับปรุงโหมดการบำรุงรักษา

มีการปรับปรุงในคำสั่ง PHP artisan down แทนที่จะใช้รายการ IP สีขาว คุณสามารถใช้ความลับและกำหนดค่าโหมดการบำรุงรักษาแพลตฟอร์มได้:

php ช่างลง –secret=SECRET_CODE

เพิ่มสตริงที่ปลอดภัยแทน SECRET_CODE และเข้าถึงไซต์ในโหมดบำรุงรักษาที่คุณต้องเข้าชม:

Yourdomainname.com/SECRET_CODE

สิ่งนี้สร้างคุกกี้ลับที่ให้คุณเรียกดูเว็บไซต์ได้ตามปกติและเป็นวิธีที่ดีในการเพิ่มเว็บไซต์ในโหมดการบำรุงรักษาในขณะที่เข้าถึงเว็บไซต์ผ่านรหัสลับ

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

เรียกใช้รหัสด้านล่าง:

php artisan down –render =” ข้อผิดพลาด::503”

ตอนนี้คุณสามารถเรียกใช้คำสั่งเพื่อเพิ่มข้อมูลลับในหน้าที่แสดงและเปลี่ยนรหัสสถานะพร้อมกัน:

php artisan down –render=”errors::503” –status=200 –secret=SECRET_CODE

ปรับปรุงขีดจำกัดอัตรา

อัตราที่จำกัดใน Laravel 8 นั้นยืดหยุ่นมากกว่าและเข้ากันได้กับ API มิดเดิลแวร์เค้นรุ่นก่อนหน้า ทำให้การจัดการคำของ่ายขึ้นและจำกัดจำนวนคำขอที่ส่งต่อนาทีโดยผู้ใช้

Schema Dump

คุณสามารถสร้างไฟล์สคีมาในไดเร็กทอรีฐานข้อมูล/สคีมาโดยใช้คำสั่ง artisan:

php สคีมาช่าง: dump

ทิ้งสคีมาฐานข้อมูลปัจจุบันของคุณและตัดการโยกย้ายที่มีอยู่โดย:

php สคีมาช่าง: dump –prune

มันจะลบการโยกย้ายเก่าและสร้างไฟล์ดัมพ์สคีมาไฟล์เดียว

Laravel Jetstream

เป็นแอพพลิเคชั่นนั่งร้านแบบโอเพ่นซอร์สฟรีสำหรับ Laravel มีส่วนประกอบดังนี้

  • การยืนยันอีเมล
  • ฟังก์ชั่นการลงทะเบียนและเข้าสู่ระบบ
  • การรับรองความถูกต้องด้วยสองปัจจัย
  • รองรับ API
  • การจัดการเซสชั่น

แบทช์งาน

การอัปเดตล่าสุดอนุญาตให้เรียกใช้งานชุดงานและการดำเนินการเมื่อดำเนินการชุดงานแล้ว

หน้า Landing Page ใหม่

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

คำนำหน้าเนมสเปซคอนโทรลเลอร์

เวอร์ชันก่อนหน้ามี RouteServiceProvider.php เรียกว่า $namespace ซึ่งใช้เป็นคำนำหน้าของเนมสเปซของคอนโทรลเลอร์ของคุณโดยอัตโนมัติ คุณสมบัตินี้ถูกลบออกแล้ว และคุณสามารถนำเข้าคลาสคอนโทรลเลอร์ในไฟล์เส้นทางได้โดยไม่มีปัญหาใดๆ

ผู้ฟังเหตุการณ์ที่ไม่ระบุชื่อสามารถเข้าคิวได้

ก่อนหน้านี้ คุณต้องสร้างคลาสของเหตุการณ์และตัวฟังเหตุการณ์โดยใช้คุณสมบัติ ShouldQueue แต่ด้วยคุณสมบัติใหม่จะแนะนำฟังก์ชันเนมสเปซแรกในเฟรมเวิร์ก Laravel:

ส่องสว่าง\เหตุการณ์\จัดคิวได้

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

การถอยกลับแบบเอ็กซ์โพเนนเชียลสำหรับความล้มเหลวของงาน

เพิ่มเมธอด backoff() ใหม่ให้กับคลาสงานที่ส่งคืนอาร์เรย์ของจำนวนเต็มเพื่อตัดสินเวลารอระหว่างการพยายามทำงานเมื่อล้มเหลว

เราได้พูดถึงคุณลักษณะและการอัปเดตบางอย่างใน Laravel 8 คุณจะต้องใช้ Laravel Development Services เพื่อจัดการกับฟังก์ชันดังกล่าว และปรับปรุงประสบการณ์ของผู้ใช้ และทำให้นักพัฒนาทำงานได้ง่ายด้วยคุณลักษณะที่เพิ่มเข้ามาใหม่ อย่าพลาดการอัปเดตใหม่ จ้างนักพัฒนา Laravel โดยเฉพาะ กับเรา