سرفصل‌های آموزشی
آموزش RESTful API
تکمیل کلاس Routing

تکمیل کلاس Routing

کلاس Routing در پروژه‌ٔ RESTful API این وظیفه را دارا است تا لینک‌های معتبری که در این وب سرویس می‌توان مورد استفاده قرار داد را مشخص سازد. برای همین منظور، این کلاس را به صورت زیر تکمیل می‌کنیم:

<?php
namespace Core;

class Routing
{
    public $routes = [
        [
            'route' => 'api/v1/articles',
            'module' => 'Api',
            'controller' => 'DefaultController',
            'action' => 'index',
        ],
        [
            'route' => 'api/v1/signup',
            'module' => 'Api',
            'controller' => 'UserController',
            'action' => 'signup',
        ],
        [
            'route' => 'api/v1/auth',
            'module' => 'Api',
            'controller' => 'UserController',
            'action' => 'auth',
        ],
    ];

    public function __construct()
    {
        return $this->routes;
    }
}

برای آشنایی بیشتر با ماهیت این کلاس، توصیه می‌کنیم به آموزش ساخت کلاس Routing از دورهٔ آموزش معماری MVC مراجعه نمایید. همان‌طور که ملاحظه می‌شود، در آرایهٔ routes$ سه به اصطلاح Endpoint تعریف کرده‌ایم که عبارتند از:

[
    'route' => 'api/v1/articles',
    'module' => 'Api',
    'controller' => 'DefaultController',
    'action' => 'index',
],
[
    'route' => 'api/v1/signup',
    'module' => 'Api',
    'controller' => 'UserController',
    'action' => 'signup',
],
[
    'route' => 'api/v1/auth',
    'module' => 'Api',
    'controller' => 'UserController',
    'action' => 'auth',
]

اِندپوینت یا یوآرال api/v1/articles این وب سرویس به منظور انجام عملیات CRUD برای فراخوانی، افزودن، آپدیت و حذف مقالات وبلاگ مورد استفاده قرار خواهد گرفت و همان‌طور که در آموزش‌های آتی خواهیم دید،‌ بسته به اینکه متد ارسالی GET یا POST و یا ... باشد، اَکشن خاصی اجرا خواهد شد.

با فراخوانی اِندپوینت api/v1/signup نیز متد signup در کنترلری به نام UserController اجرا خواهد شد که در ادامهٔ آموزش‌ها آن را ایجاد خواهیم نمود و در نهایت هم به اِندپوینت api/v1/auth می‌رسیم که به منظور تصدیق اطلاعات کاربر (لاگین) مورد استفاده قرار خواهد گرفت.

online-support-icon