جلسه اول | ساخت یک api Token Generator ساده از صفر تا صد

برای شروع ما باید هدف خودمون رو مشخص کنیم تو این روش بعد ساخت هر بار توکن به عنوان کلید به سمت کاربر فرستاده میشه دلیل اینکار میتونه این باشه که ما باید کاربر رو از آپدیت جدید توکن آگاه کنیم و کاربر نتونه با توکن های که زمانشون اکسپایر شده دوباره به ما درخواست بفرسته ! 

روش کار ما به این صورت هستش : 

  •  ساخت توکن و ارسال نتیجه لاگین به کاربر
  • بررسی توکن و احراز هویت کاربر و ادامه کار 
  • تغییر توکن و اکسپایر و ساخت توکن جدید 

برای شروع ما یه کلاسی به اسم Request میسازیم و کارمون داخلش اینه که ورودی های خودمون رو هندل کنیم  :


class Request{

    public $request ;

    public function __construct()
    {
        $this->request = $_REQUEST ;
    }

    public function get($parametrs)
    {
        if (is_string($parametrs)){
            if (@$this->request[$parametrs])
                return $this->request[$parametrs];
        }
        elseif ( is_array($parametrs) ){
            $results = [] ;
            foreach ($this->request as $key => $value )
                if ( in_array( $key , $parametrs ) )
                    $results[$key] = $value ;
            return $results ;
        }
        return ;
    }

    public function all()
    {
        return $this->request ;
    }

    public function has($parameters)
    {
        if ( is_string($parameters) ){
            return (boolean) @$this->request[ $parameters ] ;
        }
        else if ( is_array($parameters) ){
            foreach ($parameters as $parameter)
                if ( !in_array( $parameter , array_keys( $this->request ) ) )
                    return false ;
            return true ;
        }
        //not support other parameters format
        return false ;
    }
}

در کلاس ما یع چیز از رفتار های کلاس Request مثل لاراول رو میبینیم !!

  • متد get در کلاس بالا کارش دریافت مقدار از پروپرتی request هستش و array , string قبول میکنه 
  • متد all که تمام ریکوست های که به سمت ما اومد رو بر میگردونه 
  • متد has کارش وجود نام یک درخواست رو چک کنه و ببینه اصلا این کلید تو درخواست ها به سمت ما ارسال شده یا خیر 

خوب به نظرم این جلسه کافیه و نمیخوام شلوغ بشه تو جلسه بعدی میاییم یک query Builder میسازیم و کار کانکشن های دیتابیس ما رو انجام بده 

5| از1رای

مطالب مشابه


0 دیدگاهافزودن