تکمیل کلاس DefaultController


پیش از تکمیل کنترلر DefaultController، مجدد نگاهی به ساختار کلاس 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;
    }
}

همان‌طور که می‌بینیم، اِندپوینت اول این وظیفه را دارا است تا هر زمانی که کلاینت وارد یوآر‌الِ api/v1/articles شد، اَکشن index قرار گرفته داخل DefaultController اجرا گردد. حال ممکن است این پرسش ایجاد گردد که «چگونه سیستم متوجه خواهد شد که متد انتخابی مثلاً POST ،GET یا غیره است؟» که در پاسخ به این پرسش باید گفت که داخل اَکشن index با استفاده از ساختار switch این قضیه را هندل کرده‌ایم که بر اساس نوع متد، تَسک مربوطه را عملی سازد.

این بخش از محتوا مخصوص کاربرانی است که ثبت‌نام کرده‌اند.
جهت مشاهدهٔ این بخش از محتوا لاگین نمایید.

جمع‌بندی
در این آموزش دیدیم که به چه شکل می‌توانیم کلیهٔ تَسک‌های مرتبط با مُدل Article را با استفاده از کنترلرِ DefaultController هندل نماییم. به عبارتی، با استفاده از اِندپوینتی به آدرس api/v1/articles با استفاده از یک دستور switch نوع متد را مشخص نموده سپس بر آن اساس اَکشن مربوطه را اجرا نمودیم.


لیست نظرات
کاربر میهمان
دیدگاه شما چیست؟
کاربر میهمان
مهدی حمزه
مهدی حمزهبرنامه نویس اندروید و طراح رابط کاربری
۱۳۹۸/۰۳/۱۳
من نمیتونم توکن رو بررسی کنم میگه توکن پیدا نشد
مشکل هم از هدر هست
یعنی نمیتونه هدر Authorization رو بررسی کنه
چیکار باید کرد؟
مهدی حمزه
مهدی حمزهبرنامه نویس اندروید و طراح رابط کاربری
۱۳۹۸/۰۳/۱۳
یک سؤال!
وقتی ما می‌توانیم ازز طریق کد های http وضعیت در خواست کاربر رو بر گردونیم دیگه چرا توی جیسونمون هم میایم و کد رو نشون می دیم؟
آیا میشه(استاندارد هست) که قسمت code رو حذف کنیم و فقط message رو نشون بدیم ؟!