การดีบักใน Laravel: วิธีค้นหาและแก้ไขข้อผิดพลาดใน Laravel แอปพลิเคชัน

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

แสดงข้อความแสดงข้อผิดพลาด

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

 

ใช้ dd() ฟังก์ชั่น

ฟังก์ชัน dd()(dump and die) เป็นเครื่องมือที่มีประโยชน์สำหรับการตรวจสอบและแสดงตัวแปร อาร์เรย์ หรืออ็อบเจกต์ในระหว่างการดำเนินการ คุณสามารถใช้ dd() ตรวจสอบข้อมูลและตรวจสอบสถานะได้

$data = ['name' => 'John', 'age' => 25];  
dd($data);  

เมื่อพบ dd() ฟังก์ชัน Laravel จะหยุดการทำงานและแสดงข้อมูลโดยละเอียดเกี่ยวกับ $data ตัวแปร

 

ใช้ไฟล์บันทึก

Laravel ให้วิธีการบันทึกข้อมูลและข้อผิดพลาดลงในล็อกไฟล์ คุณสามารถใช้วิธีการต่างๆ เช่น info(), error(), debug(), ฯลฯ เพื่อบันทึกระหว่างการดำเนินการ ไฟล์บันทึกถูกจัดเก็บไว้ใน storage/logs ไดเร็กทอรี

 

นี่คือตัวอย่างการใช้ไฟล์ล็อกอิน Laravel

ขั้นแรก ตรวจสอบให้แน่ใจว่า Laravel ได้รับการกำหนดค่าให้บันทึกข้อความ เปิด .env ไฟล์และตรวจสอบให้แน่ใจว่า LOG_CHANNEL ได้ตั้งค่าตัวแปรเป็น 'daily' หรือ 'stack'(หากยังไม่ได้ตั้งค่า):

LOG_CHANNEL=daily

ในโค้ดของคุณ คุณสามารถใช้ Log ส่วนหน้าเพื่อเขียนข้อความบันทึก นี่คือตัวอย่าง

use Illuminate\Support\Facades\Log;  
  
public function example()  
{  
    Log::info('This is an information log message.');  
  
    Log::warning('This is a warning log message.');  
  
    Log::error('This is an error log message.');  
}  

ในตัวอย่างนี้ เราใช้ info(), warning(), และ error() เมธอดของ Log ส่วนหน้าเพื่อบันทึกข้อความประเภทต่างๆ คุณสามารถใช้วิธีการเหล่านี้เพื่อบันทึกข้อความในระดับบันทึกต่างๆ

ตามค่าเริ่มต้น Laravel บันทึกจะถูกเก็บไว้ใน storage/logs ไดเร็กทอรี คุณสามารถเข้าถึงไฟล์บันทึกในไดเร็กทอรีนั้นเพื่อดูข้อความที่บันทึกไว้ ไฟล์บันทึกถูกจัดระเบียบตามวันที่

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

Log::info('User created', ['user_id' => 1]);

ในกรณีนี้ ข้อมูลบริบทเพิ่มเติม(user_id = 1) จะรวมอยู่ในข้อความบันทึก

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

 

ใช้ Laravel Telescope

Laravel Telescope เป็นเครื่องมือดีบักที่ทรงพลังและสะดวก Laravel สำหรับ มีเว็บอินเตอร์เฟสสำหรับตรวจสอบและวิเคราะห์คำขอ การสืบค้นฐานข้อมูล คิว และอื่นๆ หากต้องการใช้ Telescope คุณต้องติดตั้งและกำหนดค่าใน Laravel แอปพลิเคชัน ของคุณ

 

ใช้ Xdebug และ IDE การดีบัก

Xdebug เป็นเครื่องมือดีบั๊กยอดนิยมที่ใช้ใน Laravel โปรเจ็กต์ PHP และโปรเจ็กต์อื่นๆ อีกมากมาย ด้วยการติดตั้ง Xdebug และรวมกับการดีบัก IDE เช่น PhpStorm คุณสามารถติดตามและตรวจสอบสถานะการดำเนินการของโค้ด PHP ของคุณ ตั้งค่าเบรกพอยต์ ตรวจสอบตัวแปร และใช้คุณสมบัติการดีบักอื่นๆ

 

ด้วยเครื่องมือและคุณลักษณะข้างต้น คุณสามารถดีบักและแก้ปัญหา Laravel แอปพลิเคชัน ของคุณได้อย่างง่ายดาย