การกำหนดค่าแคช
การกำหนดค่า laravel แพร่กระจายไปทั่วไฟล์หลายสิบไฟล์และincluding
ทุกไฟล์สำหรับแต่ละคำขอเป็นกระบวนการที่มีค่าใช้จ่ายสูง ในการรวมไฟล์ config ทั้งหมดของคุณเป็นไฟล์เดียวให้ใช้:
php artisan config:cache
โปรดทราบว่าการเปลี่ยนแปลงการกำหนดค่าจะไม่มีผลใด ๆ เมื่อคุณแคช ในการรีเฟรชแคชการกำหนดค่าให้เรียกใช้คำสั่งด้านบนอีกครั้ง ในกรณีที่คุณต้องการกำจัดแคชการกำหนดค่าทั้งหมดให้เรียกใช้
php artisan config:clear
Routes caching
Routing ยังเป็นงานที่มีราคาแพงใน laravel ในการแคชไฟล์ route.php ให้รันคำสั่งด้านล่าง:
php artisan route:cache
อย่าลืมว่ามันใช้ไม่ได้กับการปิด ในกรณีที่คุณใช้การปิดนี่เป็นโอกาสที่ดีที่จะย้ายพวกมันไปยังคอนโทรลเลอร์เนื่องจากคำสั่งของช่างฝีมือจะทำให้เกิดข้อยกเว้นเมื่อพยายามรวบรวมเส้นทางที่เชื่อมโยงกับการปิดแทนที่จะใช้วิธีการควบคุมที่เหมาะสม เช่นเดียวกับ config cache การเปลี่ยนแปลงใด ๆ ใน route.php จะไม่มีผลอีกต่อไป ในการรีเฟรชแคชให้เรียกใช้คำสั่งด้านบนทุกครั้งที่คุณทำการเปลี่ยนแปลงไฟล์เส้นทาง หากต้องการกำจัดแคชเส้นทางโดยสมบูรณ์ให้เรียกใช้คำสั่งด้านล่าง:
php artisan route:clear
การเพิ่มประสิทธิภาพ Classmap
ไม่ใช่เรื่องแปลกที่โปรเจ็กต์ขนาดกลางจะแพร่กระจายไปทั่วไฟล์ PHP หลายร้อยไฟล์ เนื่องจากพฤติกรรมการเขียนโค้ดที่ดีกำหนดเราทุกอย่างมีไฟล์ของตัวเอง แน่นอนว่าสิ่งนี้ไม่ได้เกิดขึ้นโดยไม่มีข้อบกพร่อง Laravel ต้องรวมไฟล์ที่แตกต่างกันหลายสิบไฟล์สำหรับแต่ละคำขอซึ่งเป็นสิ่งที่มีค่าใช้จ่ายสูง
ดังนั้นวิธีการเพิ่มประสิทธิภาพที่ดีคือการประกาศว่าไฟล์ใดถูกใช้สำหรับทุกคำขอ (ตัวอย่างเช่นผู้ให้บริการทั้งหมดของคุณมิดเดิลแวร์และอื่น ๆ อีกเล็กน้อย) และรวมไว้ในไฟล์เดียวเท่านั้นซึ่งจะโหลดในภายหลังสำหรับแต่ละคำขอ สิ่งนี้ไม่แตกต่างจากการรวมไฟล์ javascript ทั้งหมดของคุณเข้าด้วยกันดังนั้นเบราว์เซอร์จะต้องส่งคำขอไปยังเซิร์ฟเวอร์น้อยลง
คุณควรประกาศไฟล์คอมไพล์เพิ่มเติม (อีกครั้ง: ผู้ให้บริการมิดเดิลแวร์และอื่น ๆ ) ใน config / compile.php ในคีย์ไฟล์ เมื่อคุณใส่ทุกอย่างที่จำเป็นสำหรับทุกคำขอที่ส่งไปยังแอปของคุณแล้วให้เชื่อมต่อเข้าด้วยกันในไฟล์เดียวด้วย:
php artisan optimize --force
การเพิ่มประสิทธิภาพการโหลดอัตโนมัติของนักแต่งเพลง
อันนี้ไม่เพียง แต่สำหรับ laravel แต่สำหรับแอปพลิเคชันใด ๆ ที่ใช้นักแต่งเพลง
ฉันจะอธิบายก่อนว่าโหลดอัตโนมัติ PSR-4 ทำงานอย่างไรจากนั้นฉันจะแสดงคำสั่งที่คุณควรเรียกใช้เพื่อเพิ่มประสิทธิภาพ หากคุณไม่สนใจที่จะรู้ว่านักแต่งเพลงทำงานอย่างไรฉันขอแนะนำให้คุณข้ามไปที่คำสั่งคอนโซลโดยตรง
เมื่อคุณขอให้ผู้แต่งสำหรับApp\Controllers\AuthController
คลาสนั้นจะค้นหาการเชื่อมโยงโดยตรงในคลาสแมปก่อน คลาสแมปคืออาร์เรย์ที่มีการเชื่อมโยงคลาสและไฟล์แบบ 1 ต่อ 1 แน่นอนว่าคุณไม่ได้เพิ่มคลาสการเข้าสู่ระบบและไฟล์ที่เกี่ยวข้องลงในคลาสแมปด้วยตนเองผู้แต่งจะย้ายไปและค้นหาในเนมสเปซ เนื่องจากแอปเป็นเนมสเปซ PSR-4 ซึ่งมาพร้อมกับ Laravel โดยค่าเริ่มต้นและเชื่อมโยงกับapp/
โฟลเดอร์ผู้แต่งจะพยายามแปลงชื่อคลาส PSR-4 เป็นชื่อไฟล์ด้วยขั้นตอนการจัดการสตริงพื้นฐาน ในท้ายที่สุดเดาได้ว่าApp\Controllers\AuthController
ต้องอยู่ในไฟล์ AuthController.php ซึ่งอยู่ในControllers/
โฟลเดอร์ที่โชคดีควรอยู่ในโฟลเดอร์เนมสเปซซึ่งก็คือapp/
.
การทำงานหนักทั้งหมดนี้เพื่อให้App\Controllers\AuthController
คลาสมีอยู่ในapp/Controllers/AuthController.php
ไฟล์เท่านั้น ในการให้นักแต่งเพลงสแกนแอปพลิเคชันทั้งหมดของคุณและสร้างการเชื่อมโยงคลาสและไฟล์แบบ 1 ต่อ 1 โดยตรงให้รันคำสั่งต่อไปนี้:
composer dumpautoload -o
โปรดทราบว่าหากคุณใช้ php artisan optimize --force อยู่แล้วคุณไม่จำเป็นต้องเรียกใช้โปรแกรมนี้อีกต่อไป เนื่องจากคำสั่งปรับให้เหมาะสมแล้วจะบอกให้ผู้แต่งสร้างโหลดอัตโนมัติที่ปรับให้เหมาะสมแล้ว