Laravel API এর Eloquent Resources | Part 27

Abu Sayed
2 min readFeb 24, 2024

--

Laravel API এর Eloquent Resources বৈশিষ্ট্য নিয়ে বাংলায় লেখা একটি টিউটোরিয়াল। Eloquent Resources এর ব্যবহার এবং সুবিধাসমূহ সম্পর্কে ধারণা দেয়। উদাহরণসহ বিস্তারিতভাবে ব্যাখ্যা করে কিভাবে API response কে সহজে ফরম্যাট করা যায়।

Laravel API ডেভেলপমেন্টের Advanced ধারণা — Eloquent Resources এর ব্যাখ্যা ও ব্যবহার (উদাহরণসহ)

Laravel এর Eloquent Resources হল একটি দ্রুত এবং সহজ উপায় আপনার API রেসপন্স ফরম্যাট করার জন্য। এটি Eloquent মডেলগুলো থেকে ডাটা নিয়ে সেগুলোকে JSON বা অন্য কোন ফরম্যাটে পরিণত করে। এটি API ডেভেলপমেন্ট কে খুব দ্রুত এবং সহজ করে তোলে।

Eloquent Resources সম্পর্কে কিছু গুরুত্বপূর্ণ বিষয়:

  • সহজ ডেটা ফরম্যাটিং: শুধুমাত্র একটি Resource class ডিফাইন করে আপনি কম্পলেক্স ডেটা স্ট্রাকচার ফরম্যাট করতে পারেন।
  • ফিল্টারিং: Resources ব্যবহার করে আপনি কোন ডেটা প্রদর্শন করতে চান এবং কোনটি প্রদর্শন করতে চান না সেটা নিয়ন্ত্রণ করতে পারেন।
  • কন্ডিশনাল রিলেশন: শুধুমাত্র প্রয়োজনীয় রিলেশনগুলোই লোড করা যায়, যা ক্লায়েন্ট এবং সার্ভার উভয়ের জন্য উপকারী।
  • সাথে সাথে তৈরি: শুধু প্রয়োজনীয় ডেটাই লোড হয়, যাতে রেসপন্স সময় কমে যায়।
  • ক্যাশিং: রেসপন্সকে ক্যাশ করা যায় যাতে পরবর্তী রিকোয়েস্টে দ্রুত লোড হয়।

সমগ্রভাবে, Eloquent Resources Laravel API ডেভেলপমেন্ট কে খুব সহজ, দ্রুত এবং মেইনটেনযোগ্য করে তোলে।

Eloquent Resources ব্যবহারের একটি উদাহরণ:

ধরুন আপনার User মডেল আছে এবং আপনি /users API এন্ডপয়েন্ট এ সকল ইউজার ডেটা JSON ফরম্যাটে রিটার্ন করতে চান। সেক্ষেত্রে আপনি এমনভাবে একটি Resource class লিখতে পারেন:

<?php
namespace App\Http\Resources;use Illuminate\Http\Resources\Json\JsonResource;class UserResource extends JsonResource
{
public function toArray($request)
{
return [
'id' => $this->id,
'name' => $this->name,
'email' => $this->email,
'created_at' => $this->created_at,
'updated_at' => $this->updated_at,
];
}
}

এবং কন্ট্রোলারে এর ব্যবহার করতে পারেন:

public function index() 
{
$users = User::all();

return UserResource::collection($users);
}

এতে /users এন্ডপয়েন্ট থেকে সকল ইউজারের ডেটা JSON ফরম্যাটে পাঠানো হবে।

এছাড়াও আছে pagination, conditional relations, caching ইত্যাদি এর সাপোর্ট। যা দিয়ে আরও উন্নত API তৈরি করা যায়।

সংক্ষিপ্তসার:

  • Eloquent Resources হল Laravel এর একটি বুনিয়াদী ফিচার API response ফরম্যাট করার জন্য
  • এটি মডেল ডেটাকে সহজেই JSON/Array এ রূপান্তর করে
  • এর মাধ্যমে খুব দ্রুত ভাবে API development করা যায়
  • Filtering, Pagination, Conditional Relation সহ উন্নত ফিচার আছে
  • Eloquent Resources শিখলে API ডেভেলপমেন্ট অনেক সহজ হয়ে যায়

সমগ্রভাবে, Eloquent Resources হল একটি অত্যন্ত কার্যকরী বৈশিষ্ট্য যা Laravel API ডেভেলপমেন্ট কে খুব দ্রুত এবং সহজে করে তোলে।

--

--

Abu Sayed
Abu Sayed

Written by Abu Sayed

Bangladeshi Full Stack Web Dev, Sys Admin & DevOps Engineer. Skills: Data analysis, SQL, Unity, C#. Python, PHP & Laravel. Me on: bd.linkedin.com/in/imabusayed

No responses yet