هل يمكنك استخدام REST في PHP؟إذا كان الأمر كذلك كيف؟[مغلق]

StackOverflow https://stackoverflow.com/questions/1628628

  •  06-07-2019
  •  | 
  •  

سؤال

أقوم بتطوير مكتبة PHP الخاصة بي وأرغب في الاتصال بخدمات الويب RESTful من واجهة برمجة التطبيقات (API) الخاصة بي.هل يمكن القيام بذلك بلغة PHP، وإذا كان الأمر كذلك، فما هي الأساسيات للقيام بذلك؟

هل كانت مفيدة؟

المحلول

نظرًا لأن REST هو تطبيق لنفس أساليب بروتوكول HTTP لتصميم بنيات خادم العميل، كما أن PHP جيدة جدًا بالفعل في التعامل مع طلبات بروتوكول HTTP مثل GET وPOST.PHP مناسب خصيصًا لتسهيل تطوير خدمات REST.

تذكر أن REST هو تطبيق لنفس أنماط http الموجودة بالفعل.

لذا، إذا كان لديك حاليًا تطبيق يفعل شيئًا مثل:

  1. نموذج HTML
  2. عملية PHP
  3. إخراج HTML في جدول

لذلك لجعلها تستريح ستحتاج إلى:

  1. قبول المعلمات من الويب.يعد هذا أمرًا سهلاً لأنك ستتلقى المعلمات إما كإستلام أو نشر ...لذا فهو في الأساس نفس الشيء.
  2. عملية PHP
  3. الإخراج في أي منهما JSON أو XML.وهذا هو عليه!

    من السهل جدا.

الآن الجزء الصعب هو جعل واجهة برمجة التطبيقات (الوظائف وعناوين URL) التي ستقوم بإنشائها لتكون صديقة للمبرمجين.

في هذه الحالة أقترح عليك إلقاء نظرة على فليكر API على سبيل المثال، يعد هذا البرنامج سهل التخمين وسهل التخمين ويحتوي على وثائق جيدة.

لمزيد من المعلومات حول واجهات برمجة التطبيقات (APIs)، انظر هذا العرض التقديمي: كيفية تصميم واجهة برمجة تطبيقات جيدة وسبب أهميتها (جوشوا بلوخ)

وأخيرًا، يجب أن تنفذ واجهة برمجة تطبيقات RESTful أيضًا طريقتي PUT وDELETE لبروتوكول http عندما يكون ذلك منطقيا

على سبيل المثال، إذا كان لديك إجراء حذف في واجهة برمجة التطبيقات الخاصة بك، فيجب أن تتلقى الخدمة المذكورة طريقة الحذف من بروتوكول http.بدلاً من الشيء الأكثر شيوعًا المتمثل في إرسال معلمة إجراء كجزء من طلب النشر.

يحرر: تم استبدال عبارة "Php هي الراحة افتراضيًا" بـ "نظرًا لأن REST هو تطبيق نفس أساليب بروتوكول HTTP لتصميم بنيات خادم العميل، كما أن PHP جيد جدًا بالفعل في التعامل مع طلبات بروتوكول HTTP مثل GET وPOST.إن لغة PHP مناسبة خصيصًا لتسهيل تطوير خدمات REST."

وأضفت أيضًا الملاحظة الأخيرة التي مفادها أنه يجب عليك تنفيذ أساليب PUT أو DELETE المناسبة عندما يكون هذا الإجراء منطقيًا لواجهة برمجة التطبيقات الخاصة بك.

نصائح أخرى

وأنت قد ترغب في النظر في هذه المادة والمتابعة: HTTP: //www.gen-x -design.com/archives/create-a-rest-api-with-php/

وسؤالك هو مفتوح جدا، لذلك هذا البرنامج التعليمي قد يكون أفضل نقطة انطلاق.

والوصلة أعلاه لم تعد تعمل حتى تحقق من هذا البرنامج التعليمي:

HTTP: // الشباك. tutsplus.com/tutorials/other/a-beginners-introduction-to-http-and-rest/

وأنا وضعت الطبقة التي هي PHP الأصلي الطبقة SoapServer "أي ما يعادل REST.

وأنت فقط تضمين ملف RestServer.php ومن ثم استخدامها على النحو التالي.

class Hello
{
  public static function sayHello($name)
  {
    return "Hello, " . $name;
  }
}

$rest = new RestServer(Hello);
$rest->handle();

وبعد ذلك يمكنك إجراء مكالمات مثل هذا:

http://myserver.com/path/to/api?method=sayHello&name=World

و(لاحظ أنه لا يهم ما تأمر يتم توفير بارامس في سلسلة الاستعلام. كما أن أسماء مفتاح المعلمة وكذلك اسم الأسلوب حساسة لحالة الأحرف.)

لا يمكن أن يصب لنعود إلى المصدر الأصلي لل وREST المدى ، وتأكد من أنك تفهم ما يعنيه ذلك.

إذا كنت تفكر في جانب العميل من الأشياء، أود أن أقترح التحقق من الآفات مات Sukowski ل.

وستجد مستودع على جيثب: https://github.com/educoder/pest

وكما تحقق من هذا الموضوع: PHP REST عملاء

وتحديث 2013/12/13:
هذا هو إلى حد كبير مشروع مفتوح المصدر الحية، مات Sukowsky سلمها إلى القائمين جديدة هذا الصيف لأنه لم يشعر انه يمكن ان تدخر ما يكفي من الوقت، وكان هناك الكثير والكثير من يرتكب منذ ذلك الحين. حتى الحشرات أفضل من أي وقت مضى للقيام الراحة في PHP:)

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top