نحوه نوشتن API سایت برای اپلیکیشن موبایل با زبان PHP


 1395/9/17   6343

خلاصه توضیحات : به برنامه هایی گفته می شوند که میتوانند بین دو منبع جدا از هم و متفاوت از هم داده هایی رو رد و بدل کنند , مثلا API سایت سازمان بورس که توسط آن شما در وبسایت خودتون این API رو قرار میدهید و درخواست برای سازمان بورس ارسال می شود و داده های سازمان بورس در سایت شما هم نمایش داده می شود.



API چیست ؟

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

و یا دقیق تر بگیم مثلا وبسایت خودتون رو تصور کنین , حال قصد دارید که برای سایت خود اپ آندروید یا ios بسازید و مطالب سایتتون رو در اپلیکیشن به نمایش در بیاورید, برای این کار ها شما باید API بنویسید برای ارتباط بین سرور و سایت خودتون با اپلیکیشن موبایل.


شروع ساخت یک API :

اول از هر چیز شما باید زبانی که میخواهید با آن کدنویسی API رو انجام دهید انتخاب کنید که ما در این آموزش از زبان محبوب PHP استفاده میکنیم.

انتخاب متد مدنظر برای تبادل اطلاعات (GET یا POST) :

در این آموزش ما از متد GET استفاده میکنیم ولی در نظر داشته باشید که از نظر امنیتی POST خیلی امن تر است.

شروع کد نویسی

if(isset($_GET['action']))
{
   $action=$_GET['action'];
   if($action=='sayHello')
   {
      echo 'Hello This is API';
   }
}
else
   echo 'Please Enter Action !';
?>

فرض کنید دامنه ما www.parcweb.ir می باشد, ,وقتی ما در آدرس بار , www.parcweb.ir/api.php?action=sayHello رو وارد میکنیم خروجی برای ما به شکل زیر نمایش داده می شود.
Hello This is API

و زمانی که www.parcweb.ir/api.php رو وارد میکنید چون مقدار action رو نگرفته ایم یا به عبارتی GET نکرده ایم , خروجی به شکل زیر میشود.
Please Enter Action !

حالا برای اینکه هر شخصی نتواند از API ما استفاده بکند کد رو به شکل زیر تغییر میدهیم :
if(isset($_GET['apikey']))
{
   if($_GET['apikey']=='1234')
   {
      if(isset($_GET['action']))
      {
         $action=$_GET['action'];
         if($action=='sayHello')
         {
            echo 'Hello This is API';
         }
      }
      else
         echo 'Please Enter Action !';
   }
   else
      echo 'Api Key Is Invalid !!!';
}
else
   echo 'Please Enter Api Key !!';
?>

در کد بالا گفتیم که اگر مقدار apikey وارد نشد و یا وارد شد و یا مقدارش برابر با 1234 نبود , پیغام میده که apikey غلط هست و هیچ action اجرا نمیشود ولی اگر مقدار apikey درست بود action اجرا میشود
زمانی که شما در حال ساختن اپلیکیشن هستید زمانی که از طریق اپ میخواید API رو صدا بزنید اون مقدار apikey هم باهاش بفرستید , به شکل زیر :

www.parcweb.ir/api.php?apikey=1234&action=sayHello

حالا قصد داریم از طریق این API که نوشتیم داده هایی رو به مثلا برنامه آندرویدمون بفرستیم , به شکل زیر عمل میکنیم :
if(isset($_GET['apikey']))
{
   if($_GET['apikey']=='1234')
   {
      if(isset($_GET['action']))
      {
         $action=$_GET['action'];
         if($action=='GetLastUsers')
         {//نمایش آخرین کاربرانی که در سایت ثبت نام کردئه اند
            $users=
               [
                  [
                     'name'=>'sina',
                     'website'=>'parcweb.ir'
                  ],
                  [
                     'name'=>'hamid',
                     'website'=>'geomatco.ir'
                  ]
               ];
            $json=json_encode($users);
            print_r($json);// چاپ نتیجه بر روی صفحه
         }
      }//نمایش آخرین کاربرانی که در سایت ثبت نام کردئه اند
      else
         echo 'Please Enter Action !';
   }
   else
      echo 'Api Key Is Invalid !!!';
}
else
   echo 'Please Enter Api Key !!';
?>
در کد بالا از تابع json_encode استفاده کردیم تا آرایه ما را به فرمت json که در برنامه های آندرویدی قابل خواندن است تبدیل کند, در نتیجه خروجی به شکل زیر خواهد بود :
[{"name":"sina","website":"parcweb.ir"},{"name":"hamid","website":"geomatco.ir"}]

و این خروجی رو در برنامه آندرویدمون میگیریم و سپس با استفاده از توابع json parser می توانیم داده ها رو بخونیم و ازشون در برنامه مون استفاده کنیم.


اشتراک مطلب در :     |     |     |  

کلمات کلیدی : api برای اپ اندروید ,api با php ,نوشتن api برای برنامه موبایل ,ارتباط api با اپ آندروید ,ارتباط api با اپلیکیشن ios ,ای پی آی ,php api ,android php api ,

ارسال دیدگاه

  
امین امیری
 8 ماه پیش
ممنون خلاصه بود اما برای سوال من جواب عالیی بود
مدیر پارسی وب
 8 ماه پیش
خواهش میکنم ,خوشحالم که استفاده کردید.
حسام آتشی پور
 8 ماه پیش
ممنون از مطلب تون من یه سوال داشتم. برای طراحی یک ائلیکیشن باید اندروید اول شروع کند و بعد بک اند سرویس های مورد نظرش رو به فرانت بده؟ سوالم از اینجا شروع شد که بک اند تیم ما میگه تا اندروید نیاد و شروع نکنه من نمی تونم به هیچ وجه شروع کنم؟ آیا این درسته یا راه حلی برای تست سرویس ها و api وجود داره؟ ممنون میشم ئاسخ بدید
مدیر پارسی وب
 8 ماه پیش
سلام دوست عزیز, معمولا پروژه هایی multi-platform هستند یعنی هم web هم ios و هم android دارند معمولا بخش web یا web service رو شروع میکنند و بهتره که ios و android هم. همزمان که web service ها نوشته می شوند پروژه رو پیش ببرند و همون موقع تست کنند. حالا راه حرفه ای تر و بهتری هم که هست این هست که ابتدا UI کار UI هر ۳ پلتفرم رو طراحی میکنه و میده به back-end کار , حالا back-end کار ها شروع میکنند و معمولا از web و web service شروع میشه. اما برای تست نرم افزار و اپلیکیشن نیازی به وجود شخص نیست , شما از قابلیت unit Test استفاده میکنید , یکسری ابزار هستند که به شما کمک میکنند که پٰروژه هاتون رو تست کنید یعنی کدی می نویسید که جای خود شما اپ رو تست مکینه هرجاش رو که بخواین و log دقیقه از نتیجه تست به شما میده. امیدوارم توضیحات براتون مید واقع بشه سوال دیگه ای بود در خدمتم.
سیدرضا بازیار
 7 ماه پیش
ممنون خوب بود
مدیر پارسی وب
 7 ماه پیش
خواهش میکنم.