Laravel Common Tropics
✅ ১. Route Model Binding
ব্যাখ্যা:
Laravel-এ Route Model Binding ব্যবহার করে আপনি route-এ থাকা ID বা slug দিয়ে সরাসরি মডেল instance পেতে পারেন।
উদাহরণ:
এখানে {user} হলো রুট প্যারামিটার, এবং Laravel নিজেই User মডেল থেকে সেই ID’র ইউজারকে এনে $user হিসেবে পাস করবে।
✅ ২. Polymorphic Relationship
ব্যাখ্যা:
একটি মডেল একাধিক মডেল থেকে সম্পর্কিত ডেটা রাখতে পারে, যেমন – comments টেবিল posts এবং videos উভয়ের সাথে যুক্ত হতে পারে।
উদাহরণ:
✅ ৩. Middleware Priority
ব্যাখ্যা:
Middleware-এর কার্যক্রমের অগ্রাধিকার (priority) কখনো কখনো গুরুত্বপূর্ণ হয়। যেমনঃ authentication আগে হবে, তারপর authorization।
app/Http/Kernel.php এ নির্ধারণ করা যায়:
✅ ৪. Eager Loading vs Lazy Loading
ব্যাখ্যা:
-
Lazy Loading: যখন প্রয়োজনে সম্পর্কিত ডেটা লোড হয়। (বেশি query হয়)
-
Eager Loading: শুরুতেই সম্পর্কিত সব ডেটা একসাথে লোড হয়।
উদাহরণ:
✅ ৫. N+1 Query Problem
ব্যাখ্যা:
যখন একটি loop এর ভিতরে প্রতিটি রেকর্ডের জন্য আলাদা query চলে, তখন performance কমে যায়।
ভুল:
সঠিক (Eager Loading):
✅ ৬. with() vs load() পার্থক্য
ব্যাখ্যা:
-
with()→ Query করার সময় relationship সহ ডেটা নিয়ে আসে। -
load()→ Query করার পর ডেটাতে relationship attach করে।
উদাহরণ:
✅ ৭. Pagination
ব্যাখ্যা:
Laravel এ pagination সহজেই করা যায় paginate() method ব্যবহার করে।
উদাহরণ:
Blade View:
✅ ৮. Job & Queue System
ব্যাখ্যা:
যদি কোনো task (যেমন ইমেইল পাঠানো) background-এ করতে চান, তখন Job ও Queue ব্যবহার হয়।
Job তৈরি:
Job ক্লাসে:
Dispatch করা:
No comments