Dev to webs {Coding…}

ร บทเรียนฟรีด้านการพัฒนาซอฟต์แวร์ ที่ครอบคลุมเนื้อหาหลากหลาย ตั้งแต่การเขียนโค้ดพื้นฐานไปจนถึงเทคนิคขั้นสูง

บทที่ 2: การ Trigger Event

🔹 เกริ่นนำ

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

Laravel ทำให้การ Trigger Event เป็นเรื่องง่าย ด้วยฟังก์ชัน event() หรือใช้ dispatch() ได้เช่นกัน

🔸 วิธีการ Trigger Event

use App\Events\UserRegistered;
use App\Models\User;

$user = User::create([...]);
event(new UserRegistered($user));

หรือเขียนแบบ short syntax:

UserRegistered::dispatch($user);

🔸 การใช้ Event ใน Controller หรือ Service

public function store(Request $request)
{
    $user = User::create($request->all());

    event(new UserRegistered($user)); // Trigger Event

    return response()->json(['status' => 'registered']);
}

🔸 ประโยชน์ของการใช้ Event

  • แยกความรับผิดชอบของระบบ เช่น register vs. send email
  • ทำให้โค้ดหลักสะอาดขึ้น
  • รองรับการเพิ่ม Listener ในอนาคตโดยไม่ต้องแก้โค้ดเดิม

💡 สามารถแนบข้อมูลไปกับ Event เพื่อให้ Listener ใช้งานได้ เช่น $event->user