লারাভেল (Laravel) একটি শক্তিশালী PHP ফ্রেমওয়ার্ক যা বিভিন্ন ধরনের কার্যকলাপ পরিচালনা করতে অনেক সরঞ্জাম সরবরাহ করে। এর মধ্যে ইভেন্ট (Event) একটি গুরুত্বপূর্ণ বিষয়, যা অ্যাপ্লিকেশনের বিভিন্ন অংশের মধ্যে যোগাযোগ ও ডাটা শেয়ারিং সহজ করে তোলে। ইভেন্টের মাধ্যমে আপনি অ্যাপ্লিকেশন চলাকালীন নির্দিষ্ট কার্যকলাপ ঘটানোর জন্য এক্সিকিউট করতে পারেন, যেমন ডাটাবেসে পরিবর্তন আসলে কোনো নোটিফিকেশন পাঠানো।
ইভেন্ট হল একটি নির্দিষ্ট কার্যকলাপ বা ঘটনা যা ঘটে এবং তা কিছু প্রক্রিয়া বা অ্যাকশন ট্রিগার (trigger) করে। লারাভেলে ইভেন্টের মাধ্যমে, আপনি একটি কাজ সম্পন্ন হওয়ার পর অন্য একটি কাজ স্বয়ংক্রিয়ভাবে চালাতে পারেন। যেমন, ব্যবহারকারী লগইন করলে একটি ইমেইল পাঠানো, অথবা কোনো মডেল সেভ হওয়ার পর কিছু অ্যাকশন চালানো।
লারাভেলে ইভেন্টের কাজের ধাপগুলি সাধারণত নিম্নলিখিত:
লারাভেলে ইভেন্ট তৈরি করতে php artisan make:event
কমান্ড ব্যবহার করা হয়। উদাহরণস্বরূপ:
php artisan make:event UserRegistered
এই কমান্ডটি app/Events
ডিরেক্টরিতে UserRegistered
নামক একটি নতুন ক্লাস তৈরি করবে।
ইভেন্টের সাথে সম্পর্কিত কার্যকলাপ বা প্রতিক্রিয়া তৈরি করতে লিসেনার ব্যবহার করা হয়। লিসেনার তৈরি করতে php artisan make:listener
কমান্ড ব্যবহার করা হয়:
php artisan make:listener SendWelcomeEmail --event=UserRegistered
এই কমান্ডটি app/Listeners
ডিরেক্টরিতে SendWelcomeEmail
নামক একটি নতুন লিসেনার ক্লাস তৈরি করবে যা UserRegistered
ইভেন্টের প্রতি প্রতিক্রিয়া জানাবে।
এবার, ইভেন্ট এবং লিসেনার একে অপরের সাথে সংযুক্ত করতে হয়। এটি EventServiceProvider
ফাইলের মাধ্যমে করা হয়। এই ফাইলটি app/Providers
ডিরেক্টরিতে পাওয়া যাবে। এখানে আপনি ইভেন্ট ও লিসেনার যুক্ত করতে পারেন:
protected $listen = [
\App\Events\UserRegistered::class => [
\App\Listeners\SendWelcomeEmail::class,
],
];
এখন, যখন UserRegistered
ইভেন্টটি ঘটবে, তখন এটি SendWelcomeEmail
লিসেনারকে ট্রিগার করবে। ইভেন্ট ট্রিগার করতে, আপনি ইভেন্ট ফ্যাকেড ব্যবহার করতে পারেন:
event(new UserRegistered($user));
এটি UserRegistered
ইভেন্টের একটি নতুন ইনস্ট্যান্স তৈরি করবে এবং লিসেনার এর সাথে ট্রিগার হবে।
ধরা যাক, আপনি একটি সিস্টেম তৈরি করেছেন যেখানে ব্যবহারকারী সাইন-আপ করার পরে একটি স্বাগতম ইমেইল পাঠানো হবে। আপনি UserRegistered
নামক একটি ইভেন্ট তৈরি করেছেন, এবং SendWelcomeEmail
নামক একটি লিসেনার তৈরি করেছেন, যা স্বাগতম ইমেইল পাঠাবে। যখন ব্যবহারকারী সাইন-আপ করবে, তখন ইভেন্টটি ট্রিগার হবে এবং স্বাগতম ইমেইল পাঠানো হবে।
লারাভেল ইভেন্ট সিস্টেমের মাধ্যমে অ্যাপ্লিকেশনের বিভিন্ন অংশের মধ্যে কার্যকলাপের সিঙ্ক্রোনাইজেশন ও যোগাযোগ সহজ হয়ে যায়। এটি ডেভেলপারদের অ্যাপ্লিকেশনকে আরও মডুলার ও ইফেকটিভভাবে পরিচালনা করতে সহায়তা করে।
Read more