# زبان های اسکریپتی > PHP >  آموزش ساخت rest api با زبان php

## php_zone

اگر برنامه نویس باشید حتما یکبار هم که شده درباره api ها شنیدید. api مخفف Application Programming Interface هستش و بعضی مواقع خیلی کاربرد داره. با کمک api ها میتونید توابع یا بخش های اجرایی نرم افزاری دیگه رو در نرم افزار خودتون اجرا کنید.

api ها اجرایی هستن و عملیاتی خاص رو اجرا میکنند , میتونن خروجی هم داشته باشند و شما خروجی اونها رو بگیرید و استفاده کنید. یا کلا قصد شما از ایجاد api ساخت خروجی های مختلف و ارائه اونها به کاربران خودتون باشه.

از انواع خروجی های api ها میشه به xml , text , json و ... اشاره کرد و پرکاربردترین اش هم json هستش.

برای مثال , نرم افزار های ارسال پیامک رو در نظر بگیرید ! این نرم افزارها این قابلیت رو دارن که شما از طرف وب سایت خودتون به api هاشون متصل بشید و پیامک ارسال یا دریافت کنید. یعنی تمامی روند کار با سرویس های مبتنی بر api ها انجام میگیره و کار شما رو بسیار آسونتر میکنه !!!

حالا rest api چی هست و چجوری کار میکنه ؟

برای پیاده سازی api ها راه های بسیار زیادی وجود داره. یکی از این راه ها rest api هستش که در بیشتر مواقع با پروتکل http و یا حتی https کار می کنه. یعنی در این روش api شما میاد پارامترهای http مثل get یا post رو از کاربران دریافت و عملیاتی رو در نرم افزار شما اجرا میکنه و میتونه در قالب json و یا ... خروجی داشته باشه.

به همین راحتی یک api ساخته میشه و میتونید در موارد خیلی خیلی زیادی مثل زیر ازش استفاده کنید :

ارسال پیامک , بررسی لاگین بودن کاربر , خروجی گرفتن مثلا شماره تلفن یا ایمیل و ...

مژده : خیلی ها هستن با ارائه این سرویس ها کسب درآمد میکنن و یکسری اطلاعات مفید رو به کاربرانی که نرم افزار دارن میفروشن !

ارتباط و اجرای این api ها چجوری هستش ؟

برای ارتباط با این api ها بیشتر مواقع از کتابخانه cURL که برای خود php هستش استفاده میکنن. مثلا به لینک زیر توجه کنید , نمونه ای از آدرس یک api هستش که با پارامتر get کار میکنه :

http://domain.com/api.php?action=send-sms&text=Salam, Khoobi ?!&number=0912123456

در لینک بالا مثلا داریم پارامترهای مختلفم get رو به صفحه api پای میدیم که برامون پیامک ارسال کنه. شماره تماس و متن پیامک هم مشخص شده که از اون ور api مقدارشون رو بگیره و پردازش های لازم رو انجام بده.

با متد post هم این شدنی هستش و هیچ فرقی نداره !

ساخت یک rest api ساده برای نمایش تاریخ :

فرض کنید میخواید یک api بسازید که بقیه بتونن تاریخ روز رو به میلادی از وب سایت شما دریافت کنن و داخل وب سایت خودشون نمایش بدن. خروجی رو هم میخواید به صورت json بهش تحویل بدید :

header('Content-Type: application/json');

if( $_GET['action'] && $_GET['action'] == 'date-time' )
{
    $output = array(
        'date' => date('Y M d'),
        'time' => date('H:i:s')
    );
    
    echo json_encode($output);
}

دربالا کار خاصی انجام نگرفته ! بلکه صرفا یک ورودی get رو بررسی می کنید که اگر وجود داشت api کار خودش رو انجام بده. در آخر هم با تابع date مقدار رو داخل آرایه تنظیم و با json_encode به خروجی با فرمت json تبدیل میکنیم.

برای دریافت اطالات هم کاربران میتونن آدرس زیر رو با cURL باز کنن و خروجی رو دریافت کنن :

api.php?action=date-time

بله دوستان این ساده ترین راه و اما پرکاربردترین راه برای ساخت rest api در زبان برنامه نویسی php بود. حالا دیگه خودتون میتونید با این منطق و روش کارهای زیادی بکنید و امکانات مختلفی رو ایجاد کنید. در حقیقت فقط تعریف و نحوه پیاده سازی در برنامه نویسی مهم هستش , ایده پردازی نسبت به نیازهای شما در پروژه های مختلف انجام میگیره !

منبع آموزش : کدپلاس

----------

