DEV Community

Mehedi Hasan
Mehedi Hasan

Posted on

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

লারাভেল (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
Enter fullscreen mode Exit fullscreen mode

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

cd rest-api
Enter fullscreen mode Exit fullscreen mode

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

প্রথমে আপনার ডেটাবেস সংযোগ কনফিগার করতে হবে। আমরা এখানে 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
Enter fullscreen mode Exit fullscreen mode

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

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

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

php artisan make:model Post -m
Enter fullscreen mode Exit fullscreen mode

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

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

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

php artisan migrate
Enter fullscreen mode Exit fullscreen mode

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

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

use App\Http\Controllers\PostController;

Route::apiResource('posts', PostController::class);
Enter fullscreen mode Exit fullscreen mode

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

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

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

php artisan make:controller PostController --api
Enter fullscreen mode Exit fullscreen mode

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

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

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

২. 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);
}
Enter fullscreen mode Exit fullscreen mode

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

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

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

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

    return response()->json($post);
}
Enter fullscreen mode Exit fullscreen mode

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

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

    return response()->json(null, 204);
}
Enter fullscreen mode Exit fullscreen mode

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

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

protected $fillable = ['title', 'content'];
Enter fullscreen mode Exit fullscreen mode

এটি 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."}'
Enter fullscreen mode Exit fullscreen mode

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

php artisan serve
Enter fullscreen mode Exit fullscreen mode

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

উপসংহার

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

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

Hostinger image

Get n8n VPS hosting 3x cheaper than a cloud solution

Get fast, easy, secure n8n VPS hosting from $4.99/mo at Hostinger. Automate any workflow using a pre-installed n8n application and no-code customization.

Start now

Top comments (0)

Billboard image

The Next Generation Developer Platform

Coherence is the first Platform-as-a-Service you can control. Unlike "black-box" platforms that are opinionated about the infra you can deploy, Coherence is powered by CNC, the open-source IaC framework, which offers limitless customization.

Learn more

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay