DEV Community

Ruhul Amin Sujon
Ruhul Amin Sujon

Posted on

Laravel IQ - Level 1 - Part 1

প্রশ্ন ১:
Laravel Framework কী? এবং কেন এটি ব্যবহার করা হয়?
উত্তর:
Laravel একটি PHP Framework, যা MVC (Model-View-Controller) আর্কিটেকচার অনুসরণ করে। এটি ডেভেলপমেন্টকে দ্রুত এবং সহজ করে তোলে। Laravel-এ বিল্ট-ইন ফিচার যেমন Authentication, Routing, Session, এবং Caching ডেভেলপারদের কাজ সহজ করে। এটি কোডের পুনরায় ব্যবহার নিশ্চিত করে এবং প্রজেক্টকে আরও স্ট্রাকচারড করে।

প্রশ্ন ২:
Laravel-এ Middleware কী এবং এটি কীভাবে কাজ করে?
উত্তর:
Middleware হচ্ছে একটি ফিল্টার, যা HTTP অনুরোধ(Request) এবং প্রতিক্রিয়ার(Response) মধ্যে কার্য সম্পাদন করে। এটি ব্যবহার করে অ্যাপ্লিকেশনে বিভিন্ন স্তরে Authentication বা লগিং যুক্ত করা যায়। উদাহরণস্বরূপ, একটি রুটে Middleware যুক্ত করলে, শুধু অথোরাইজড ইউজাররা সেই রুট অ্যাক্সেস করতে পারবে।

Middleware তৈরি করতে:

php artisan make:middleware MiddlewareName
Enter fullscreen mode Exit fullscreen mode

প্রশ্ন ৩:
Eloquent ORM কী?
উত্তর:
Eloquent ORM হল Laravel-এর একটি শক্তিশালী ফিচার, যা ডাটাবেসের সঙ্গে সহজেই কাজ করার জন্য ব্যবহার করা হয়। এটি Object-Oriented পদ্ধতিতে ডাটাবেস মডেল তৈরি এবং পরিচালনা করতে সাহায্য করে। উদাহরণস্বরূপ:

$users = User::all(); // এটি সমস্ত ইউজার ফিরিয়ে দেবে।
Enter fullscreen mode Exit fullscreen mode

প্রশ্ন ৪:
Laravel-এ CSRF Token কী এবং এটি কেন প্রয়োজন?
উত্তর:
CSRF (Cross-Site Request Forgery) Token হল একটি সিকিউরিটি মেকানিজম, যা ফর্ম সাবমিশনে ভুয়া অনুরোধ প্রতিরোধ করে। Laravel ফর্মে অটোমেটিকভাবে একটি CSRF টোকেন যুক্ত করে, যা ডাটাবেসে থাকা টোকেনের সাথে মিলিয়ে রিকোয়েস্ট যাচাই করে। ফর্মে এটি ব্যবহার করা হয়:

@csrf
Enter fullscreen mode Exit fullscreen mode

প্রশ্ন ৫:
Laravel-এ Events এবং Listeners কীভাবে কাজ করে?
উত্তর:
Laravel-এ Events এবং Listeners ব্যবহার করে অ্যাপ্লিকেশনে Event-Driven Programming বাস্তবায়ন করা হয়। কোনো নির্দিষ্ট ইভেন্ট ঘটলে তার সাথে যুক্ত Listener সেই ইভেন্টের উপর ভিত্তি করে কার্য সম্পাদন করে। উদাহরণস্বরূপ, ইউজার রেজিস্ট্রেশনের পর ইমেল পাঠানোর জন্য ইভেন্ট এবং লিসেনার ব্যবহার করা যায়।

ইভেন্ট তৈরি করতে:

php artisan make:event EventName
Enter fullscreen mode Exit fullscreen mode

লিসেনার তৈরি করতে:

php artisan make:listener ListenerName --event=EventName
Enter fullscreen mode Exit fullscreen mode

প্রশ্ন ৬:
Dependency Injection কী এবং এটি কীভাবে Laravel-এ ব্যবহার করা হয়?
উত্তর:
Dependency Injection হল একটি ডিজাইন প্যাটার্ন, যেখানে একটি ক্লাসের নির্ভরশীলতা (dependencies) কনস্ট্রাক্টরের মাধ্যমে সরবরাহ করা হয়। Laravel-এ এটি কনটেইনারের মাধ্যমে সহজেই হ্যান্ডেল করা যায়। উদাহরণস্বরূপ:

public function __construct(UserRepository $userRepo)  
{  
    $this->userRepo = $userRepo;  
}
Enter fullscreen mode Exit fullscreen mode

প্রশ্ন ৭:
Laravel-এ Queue কী এবং এটি কেন ব্যবহার করা হয়?
উত্তর:
Queue হল একটি ব্যবস্থা, যা ব্যাকগ্রাউন্ড টাস্ক এক্সিকিউট করতে সাহায্য করে। এটি অ্যাপ্লিকেশনের রেসপন্স টাইম কমায়। উদাহরণস্বরূপ, একটি ইমেল পাঠানোর কাজ Queue-তে রেখে ব্যাকগ্রাউন্ডে প্রসেস করা যায়। Queue তৈরি করতে:

php artisan queue:work
Enter fullscreen mode Exit fullscreen mode

প্রশ্ন ৮:
Service Provider কী?
উত্তর:
Service Provider হল Laravel-এর বুটস্ট্র্যাপ ক্লাস, যা অ্যাপ্লিকেশনের সার্ভিস রেজিস্টার এবং বুট করার জন্য ব্যবহার করা হয়। Laravel-এ প্রতিটি সার্ভিসের জন্য একটি সার্ভিস প্রোভাইডার থাকে। নতুন সার্ভিস প্রোভাইডার তৈরি করতে:

php artisan make:provider ProviderName
Enter fullscreen mode Exit fullscreen mode

প্রশ্ন ৯:
Blade Template Engine কী?
উত্তর:
Blade হল Laravel-এর একটি টেমপ্লেট ইঞ্জিন, যা ডাইনামিক HTML তৈরি করতে সাহায্য করে। এটি সহজ এবং ক্লিন সিনট্যাক্সে কাজ করে। Blade ফাইলের এক্সটেনশন .blade.php হয়। উদাহরণ:

@if($user->isAdmin())
    <p>Welcome, Admin!</p>
@endif
Enter fullscreen mode Exit fullscreen mode

প্রশ্ন ১০:
Laravel-এ API Route কীভাবে তৈরি করবেন?
উত্তর:
Laravel-এ API রাউট তৈরি করতে routes/api.php ফাইল ব্যবহার করা হয়। উদাহরণস্বরূপ:

Route::get('/users', [UserController::class, 'index']);
Enter fullscreen mode Exit fullscreen mode

Top comments (0)