برنامه نویسی

آموزش ساخت REST API با PHP و Laravel

سلام!

Representational State Transfer (REST) ​​یک سبک معماری نرم افزاری محبوب برای ساخت سرویس های وب است. API های REST به مشتریان اجازه می دهند تا با درخواست HTTP به نقاط پایانی خاص یا «مسیرها»، داده ها را از یک سرور بازیابی و دستکاری کنند. در این آموزش نحوه ساخت REST API با PHP و فریم ورک لاراول را یاد می گیریم.

لاراول یک چارچوب محبوب PHP منبع باز است که مجموعه ای از ابزارها و ویژگی ها را برای ساختن سریع و کارآمد برنامه های کاربردی وب ارائه می دهد. این شامل یک سیستم مسیریابی HTTP داخلی، یک سازنده پرس و جو پایگاه داده، و یک زمانبندی کار قدرتمند، از جمله موارد دیگر است.

برای شروع، باید PHP و Composer را روی دستگاه خود نصب کنید. اگر قبلاً آنها را ندارید، می توانید آنها را از وب سایت های رسمی PHP و Composer دانلود کنید.

در مرحله بعد، با استفاده از نصب کننده لاراول یک پروژه جدید لاراول ایجاد می کنیم. یک ترمینال باز کنید و دستور زیر را وارد کنید:

composer create-project --prefer-dist laravel/laravel my-project
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

با این کار یک پروژه جدید لاراول به نام “my-project” در دایرکتوری فعلی ایجاد می شود. پس از اتمام نصب، به دایرکتوری پروژه بروید و با اجرای دستور زیر سرور توسعه را راه اندازی کنید:

php artisan serve
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

اکنون باید بتوانید به پروژه لاراول خود در http://localhost:8000 دسترسی داشته باشید.

اکنون که پروژه لاراول را راه اندازی کرده ایم، می توانیم ساخت REST API خود را آغاز کنیم. اولین کاری که باید انجام دهیم این است که یک مدل و یک مهاجرت برای داده های خود ایجاد کنیم. در این مثال، ما یک مدل برای “وظایف” ایجاد خواهیم کرد که فهرستی از وظایفی را که کاربر باید انجام دهد را نشان می دهد.

برای ایجاد یک مدل و یک مهاجرت، دستور زیر را اجرا کنید:

php artisan make:model Task -m
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

با این کار یک مدل جدید به نام “Task” و یک فایل مهاجرت مربوطه در دایرکتوری “database/migrations” ایجاد می شود. فایل مهاجرت را باز کنید و روش “بالا” را تغییر دهید تا یک جدول “کارها” با ستون های زیر ایجاد شود:

public function up()
{
    Schema::create('tasks', function (Blueprint $table) {
        $table->id();
        $table->string('title');
        $table->text('description');
        $table->boolean('completed')->default(false);
        $table->timestamps();
    });
}
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

در مرحله بعد دستور زیر را برای ایجاد جدول “tasks” در پایگاه داده اجرا کنید:

php artisan migrate
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

با تنظیم مدل و مهاجرت، اکنون می‌توانیم مسیرها را برای REST API خود ایجاد کنیم. در لاراول، مسیرها در فایل “routes/api.php” تعریف می شوند. این فایل را باز کنید و مسیرهای زیر را اضافه کنید:

Route::get('tasks', 'TaskController@index');
Route::get('tasks/{task}', 'TaskController@show');
Route::post('tasks', 'TaskController@store');
Route::put('tasks/{task}', 'TaskController@update');
Route::delete('tasks/{task}', 'TaskController@destroy');
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

این مسیرها با روش‌های HTTP و نقاط پایانی زیر مطابقت دارند:

  • GET /tasks: فهرستی از تمام وظایف را بازیابی کنید
  • GET /tasks/{task}: یک کار خاص را با شناسه بازیابی کنید

اکنون TaskController را ایجاد کنید که منطق هر یک از مسیرهایی را که ما تعریف کرده ایم کنترل می کند. برای تولید کنترلر دستور زیر را اجرا کنید:

php artisan make:controller TaskController
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

با این کار یک کنترلر جدید به نام “TaskController” در فهرست “app/Http/Controllers” ایجاد می شود. کنترلر را باز کنید و روش های زیر را اضافه کنید:

public function index()
{
    return Task::all();
}

public function show(Task $task)
{
    return $task;
}

public function store(Request $request)
{
    $task = Task::create($request->all());

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

public function update(Request $request, Task $task)
{
    $task->update($request->all());

    return response()->json($task, 200);
}

public function destroy(Task $task)
{
    $task->delete();

    return response()->json(null, 204);
}
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

این روش ها با مسیرهایی که قبلا تعریف کردیم مطابقت دارند. روش index لیستی از تمام وظایف را برمی گرداند، متد show یک کار خاص را با ID برمی گرداند، روش ذخیره یک کار جدید ایجاد می کند، روش به روز رسانی یک کار موجود را به روز می کند و روش تخریب یک کار را حذف می کند.

با وجود مسیرها و کنترلر، REST API ما اکنون کامل شده است. می توانید آن را با درخواست HTTP به نقاط پایانی با استفاده از ابزاری مانند Postman آزمایش کنید.

خودشه! اکنون یاد گرفته اید که چگونه با PHP و Laravel یک REST API بسازید. می‌توانید با افزودن مسیرها و عملکردهای بیشتر در صورت نیاز، به گسترش این API ادامه دهید. امیدوارم این آموزش مفید بوده باشد و اکنون درک خوبی از نحوه ساخت API REST با لاراول داشته باشید.


عکس لوکا براوو در Unsplash

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا