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 โดยเฉพาะ กับเรา
