Laravel Event and Event Listener
Laravel এ Event এবং Event Listener একটি powerful feature যেটা large scale application এ বিভিন্ন কাজকে loosely coupled করে manage করতে সাহায্য করে। নিচে আমরা একটি Event এবং Event Listener তৈরি করে, তারপর mail পাঠানোর সময় Event ব্যবহার করে একটি বাস্তব উদাহরণসহ ব্যাখ্যা করবো।
🧠 Event & Listener কী?
-
Event: কোনো নির্দিষ্ট কাজ বা ঘটনা ঘটলে আমরা যেটা trigger করি। যেমন: একজন user রেজিস্টার করলে।
-
Listener: Event ঘটার পর যেটা কাজ করে। যেমন: user রেজিস্টার হলে আমরা তাকে একটি welcome email পাঠাই।
✅ Step by Step: Event & Listener Setup
ধরুন, আমরা একটি user রেজিস্টার হলে তাকে welcome email পাঠাবো।
📌 Step 1: Event তৈরি করা
app/Events/UserRegistered.php ফাইলে নিচের মতো কোড থাকবে:
📌 Step 2: Listener তৈরি করা
app/Listeners/SendWelcomeEmail.php:
📌 Step 3: Mail class তৈরি করা
app/Mail/WelcomeMail.php:
📌 Step 4: EventServiceProvider-এ রেজিস্টার করা
app/Providers/EventServiceProvider.php:
📌 Step 5: Event কে Dispatch করা
User রেজিস্ট্রেশনের পর event dispatch করতে হবে:
যেমন Controller এ:
📧 Step 6: Welcome Mail এর Blade Template
resources/views/emails/welcome.blade.php:
🔁 Bonus: Queue ব্যবহার করলে ইমেইল পাঠানো background এ হবে
Listener class এ ShouldQueue implement করলে email পাঠানো async করা যায়:
✅ উপসংহার
Laravel এর Event & Listener system:
-
আপনার কোডকে clean ও maintainable করে তোলে
-
কাজগুলোকে decouple করে
-
background এ queue ব্যবহার করে performance বাড়ায়
No comments