লারাভেল ব্যবহার করে Rest Api তৈরি: নতুনদের জন্য

Mehedi HasanMehedi Hasan
3 min read

লারাভেল (Laravel) একটি জনপ্রিয় এবং শক্তিশালী পিএইচপি (PHP) ফ্রেমওয়ার্ক যা ওয়েব অ্যাপ্লিকেশন তৈরি করা অনেক সহজ করে তোলে। REST API (Representational State Transfer Application Programming Interface) হল একটি এন্ডপয়েন্ট যা ওয়েব সার্ভার এবং ক্লায়েন্টদের মধ্যে তথ্য আদানপ্রদান করতে ব্যবহৃত হয়। এই গাইডে আমরা লারাভেল ব্যবহার করে কীভাবে একটি সম্পূর্ণ CRUD (Create, Read, Update, Delete) REST API তৈরি করা যায় তা দেখব।

প্রয়োজনীয়তা

লারাভেল দিয়ে REST API তৈরি করার জন্য আপনার সিস্টেমে নিম্নলিখিতগুলি ইনস্টল থাকা প্রয়োজন:

  • PHP (সংস্করণ ৮ বা তার উপরে)

  • Composer (লারাভেল ইনস্টল করার জন্য)

  • Laravel

  • MySQL বা অন্য কোনো ডেটাবেস সার্ভার

আপনার যদি লারাভেল ইনস্টল না থাকে, তবে নিচের কমান্ডটি চালিয়ে লারাভেল ইনস্টল করুন:

composer create-project --prefer-dist laravel/laravel rest-api

ইনস্টলেশনের পরে প্রজেক্ট ফোল্ডারে যান:

cd rest-api

ধাপ ১: ডেটাবেস সেটআপ

প্রথমে আপনার ডেটাবেস সংযোগ কনফিগার করতে হবে। আমরা এখানে MySQL ব্যবহার করব। .env ফাইলটি খুলুন এবং নিচের লাইনগুলো আপডেট করুন:

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=rest_api
DB_USERNAME=root
DB_PASSWORD=your_password

এরপর, MySQL-এ rest_api নামে একটি ডেটাবেস তৈরি করুন।

ধাপ ২: মডেল এবং মাইগ্রেশন তৈরি করুন

লারাভেলের Eloquent ORM ব্যবহার করে আমরা ডেটাবেসের সঙ্গে ইন্টারঅ্যাক্ট করব। প্রথমে, নিচের কমান্ডটি চালিয়ে একটি মডেল এবং মাইগ্রেশন তৈরি করুন:

php artisan make:model Post -m

এটি একটি Post মডেল এবং একটি মাইগ্রেশন ফাইল তৈরি করবে। মাইগ্রেশন ফাইলটি খুলুন এবং টেবিলের জন্য প্রয়োজনীয় ফিল্ডগুলো যোগ করুন:

public function up()
{
    Schema::create('posts', function (Blueprint $table) {
        $table->id();
        $table->string('title');
        $table->text('content');
        $table->timestamps();
    });
}

মাইগ্রেশন রান করুন:

php artisan migrate

ধাপ ৩: API রুট তৈরি করা

লারাভেল সহজেই API রুট সংজ্ঞায়িত করতে দেয়। routes/api.php ফাইলটি খুলুন এবং নিম্নলিখিত রুটগুলো যোগ করুন:

use App\Http\Controllers\PostController;

Route::apiResource('posts', PostController::class);

এটি স্বয়ংক্রিয়ভাবে CRUD অপারেশনের জন্য রুট তৈরি করবে।

ধাপ ৪: কন্ট্রোলার তৈরি করা

Laravel Artisan ব্যবহার করে একটি API কন্ট্রোলার তৈরি করুন:

php artisan make:controller PostController --api

PostController-এ CRUD অপারেশনগুলো বাস্তবায়ন করুন:

১. index() - সব পোস্ট দেখানো

public function index()
{
    $posts = Post::all();
    return response()->json($posts);
}

২. store() - নতুন পোস্ট তৈরি

public function store(Request $request)
{
    $request->validate([
        'title' => 'required|string|max:255',
        'content' => 'required|string',
    ]);

    $post = Post::create($request->all());

    return response()->json($post, 201);
}

৩. show() - নির্দিষ্ট পোস্ট দেখানো

public function show($id)
{
    $post = Post::findOrFail($id);
    return response()->json($post);
}

৪. update() - পোস্ট আপডেট করা

public function update(Request $request, $id)
{
    $post = Post::findOrFail($id);
    $post->update($request->all());

    return response()->json($post);
}

৫. destroy() - পোস্ট ডিলিট করা

public function destroy($id)
{
    $post = Post::findOrFail($id);
    $post->delete();

    return response()->json(null, 204);
}

ধাপ ৫: মডেল সেটআপ

Post.php মডেল ফাইলে নিচের কোডটি যোগ করুন:

protected $fillable = ['title', 'content'];

এটি title এবং content ফিল্ডগুলোকে mass assignment-এর জন্য অনুমতি দেবে।

ধাপ ৬: API টেস্টিং

Postman বা cURL ব্যবহার করে আপনার API টেস্ট করুন। উদাহরণস্বরূপ, একটি নতুন পোস্ট তৈরি করতে নিচের cURL কমান্ডটি চালান:

curl -X POST http://localhost:8000/api/posts \
     -H "Content-Type: application/json" \
     -d '{"title": "My First Post", "content": "This is the content of my first post."}'

লারাভেল সার্ভার শুরু করতে:

php artisan serve

এখন আপনার API চলমান এবং ব্যবহারের জন্য প্রস্তুত!

উপসংহার

এভাবে লারাভেল দিয়ে একটি সহজ CRUD REST API তৈরি করা যায়। এই API ব্যবহার করে আপনি ডেটা তৈরি, পড়া, আপডেট, এবং ডিলিট করতে পারবেন। আপনি চাইলে আরো ফিচার যোগ করতে পারেন, যেমন authentication, pagination, অথবা ফ্রন্টএন্ড ফ্রেমওয়ার্কের সাথে ইন্টিগ্রেশন।

Laravel এর সুবিধাজনক টুলগুলো ব্যবহার করে API তৈরি করা অনেক সহজ। এখন আপনিও Laravel এর মাধ্যমে REST API তৈরি করতে পারেন!

0
Subscribe to my newsletter

Read articles from Mehedi Hasan directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Mehedi Hasan
Mehedi Hasan

Passionate and self-taught Software Engineer, known as "Programmer Hasan" with over 5 years of immersive experience in the tech industry. My journey commenced with an insatiable curiosity for technology, evolving into a fulfilling career marked by continuous learning and leadership. Full-Stack Web, Mobile, Desktop Applications Developer & Programmer, Graphic Designer. I have been a very successful web & mobile & windows (.net) developer for over 5 years, working for individuals and companies in Bangladesh mostly. There was a struggle when I started, but that didn't last very long, Alhamdulillah.