پیاده سازی جستجو REST API در PHP

  • آپدیت شده در تاریخ

پیاده سازی جستجو REST API در PHP

در این آموزش از سری مقالات ساخت وب سرویس RESTful در php ,  قصد داریم به شما نحوه پیاده سازی جستجو REST API در PHP را نشان بدیم . من یک وب سرویس RESTful در php برای انجام عملیات جستجو (Search) در دیتابیس بر اساس کلمه ای که در querystring پاس داده شده ساختم که در ادامه نحوه کار آن و کد php استفاده شده را خواهیم دید . همچنین  در آموزش قبلی نحوه ساخت وب سرویس RESTful در php را به شما نشان دادیم .

در این مثال از پیاده سازی جستجو REST API در PHP , از دیتابیسی که شامل یک جدول از نام موبایل ها است استفاده میکنیم. همچنین از کلاس RESTHandler برای فراخوانی DAO برا انجام عملیات جستجو در دیتابیس , بهره می بریم . بعد از دریافت نتایج (fetch) , API رست فول ما پاسخ را در فرمت داده json برگشت می دهد..

پیاده سازی جستجو REST API در PHP

پیاده سازی جستجو REST API در دیتابیسMySQL

این کد به شما یک کلاس مدیریت سرویس REST را نشان میدهد . این فراخوانی DAO به شما نحوه اجرای یک کویری جستجو بر اساس کلمه کلیدی پاس داده شده توسط متد GET را نشان میدهد . DAO یک آرایه ای از نتایح را به هندلر REST برگشت (return) می دهد. هندلر REST آرایه پاسخ را بر اساس آرایه نام موبایل ها که بر اساس کلمه جستجو شده, یافت شده اند را می سازد .

آرایه پاسخ (Response) بر اساس Content-Type درخواستی , اینکد میکند . در این مثال از  پیاده سازی جستجو REST API در PHP از فرمت داده jSON استفاده میکنیم.

کد php زیر به شما هندلر REST و فایل DAO موبایل را برای انجام جستجو در دیتابیس نشان می دهد. تابع searchMobile() برای ساخت کویری جستجو در دیتابیس استفاده شده است . بعد از اجرای کویری SQL , این تابع سطر های یافت شده از دیتابیس را به هندلر REST برای ساخت پاسخ در فرمت داده ای json توسط تابع json_encode() برگشت می دهد .

خروجی جستجو REST API در PHP

پیاده سازی جستجو REST API در PHP

کد وضعیت ۴۰۴,۲۰۴,۲۰۰

در زمان کار با REST API , باید کد های وضعیت مهم در پاسخ (response) ارایه بدید . اگر API ما بصورت عمومی قابل دسترس باشد , ما مطمین نیستم که دقیقا چه نوع اپلیکیشن هایی قرار است از API ما استفاده کنند . ممکن است که یک اپلیکیشن اندروید یا حتی وب سرویس های دیگر از آن بهره ببرند . کدهای پاسخ ما باید قانع کننده و مناسب بر اساس وضعیت درخواست و عملیاتی که انجام می شود , باشد .

در مثال پیاده سازی جستجو REST API , این سوال مطرح است که هنگامی که هیچ نوع داده ای برای کویری اجرا شده یافت نشد , چه نوع کد وضعیتی باید برگشت داده شود .

من از REST در فرمت URL بصورت زیر استفاده می کنم.

این URL دقیقا مطابق استاندارد و اصول وب سرویس REST است .

زمانی که url توسط سرور اجرا می شود , جستجویی بر اساس مقدار پاس داده شده در دیتابیس انجام و در نهایت نتیجه ای یافت نمی شود.. در این وضعیت باید یک پاسخ با وضعیت HTTP 404  ارسال کنیم ؟ در این حالت ترجیح میدهم که یک کد وضعیت ۲۰۰ (صحیح) و پاسخ خالی (null) را برگشت بدم . منبع REST پیدا شد ولی هیچ داده ای مطابق درخواست من برگشت داده نشد و این منطق درست تر است .

زمانی منطقی است که کد وضعیت ۴۰۴ NotFound را ارسال کنیم که مثلا سرور در دسترس نیست , دیتابیس قادر به اجرای کویری SQL نیست و یا زمانی که URL اشتباه است . خب امیدوارم متوجه شده باشید که زمانی که URL صحیح است و سرور نیز پاسخگو است , ما پاسخ موفقیت آمیز را برگشت می دهیم ولی بر اساس شرایط کویری هیچ نوع داده ای برای ارسال ندارید , بهتر است که یک پاسخ خالی را برگشت دهید .

امیدوارم از آموزش پیاده سازی جستجو REST API در PHP لذت برده باشید . برای دانلود سورس کد کامل به بخش دانلود باکس این مطلب مراجعه کنید.

هر سوالی داشتید ، از قسمت نظرات اقدام کنید . سریعا ، پاسخگوی سوالات شما هستیم .

موفق و پیروز باشید.

حسن شفیعی توسعه دهنده وب و موبایل مدیر سایت علاقه خاصی به برنامه نویسی وب و موبایل دارم و هر روز تلاش می کنم به این حوزه مسلط تر شوم و اطلاعاتم را به شکل کاربردی برای علاقه مندان در وب به اشتراک بگذارم. اگر نیاز به برنامه نویس برای انجام پروژه و نوشتن اسکریپت های سمت وب, اپلیکیشن های اندروید و ios, پیدا کردن راه حل توسعه و غیره داشتید حتما از طریق تماس با ما/ واتساپ/ تلگرام بهم پیام بدید. برایتهیه هاست مطمین و پرسرعت کلیک کنید
مطالب زیر را حتما بخوانید
دیدگاه کاربران

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دوره های آموزشی