اذهب إلى المحتوى

السؤال

نشر

السلام عليكم ورحمة الله وبركاته 

واجهتني مشكلة في فهم بناء ال reast api بال php

لنفترض ان لدي موقع الكتروني يحتوي على جدول اعضاء وجدول آخر مستويات الاعضاء

مثلا العضو مستوى 1 يحق له اضافة موضوع 1 يوميا 

العضو مستوى 2 يحق له اضافة موضوعين يوميا 

طبعا ربط الجدولين باستخدام ال php داخل الموقع سهل عملهلاكن 

كيف استطيع عمل  reast api  للجدولين وربطهم 

لاني بحثت كثيرا عن ال reast  api

ووجدت انها تعتمد على

الادخال ،الاخراج،التعديل،الحذف

Recommended Posts

  • 0
نشر

وعليكم السلام ورحمة الله.

RESTful API او Representational State Transfer بمعنى ارسال/استقبال البيانات عن طريق بروتوكول http

http يسمح لنا بارسال طلب بصيغة معينة وباكشن معين

Get, Post, Put, Delete تسمى http verb

بالتالي عندما اقوم بارسال طلب إلى السيرفر، فإن السيرفر سيفهم نوع الطلب بناءا على الـ verb المرسل مع الطلب

بالتالي: اصبح تطوير rest api اسهل بمعنى يمكن ارسال الطلب لنفس العنوان ولكن باختلاف verb حتى استطيع عمل مختلف ال verbs على البيانات

مثلا: 

https://www.mywebsite.com/api/customers

يمكن ان استخدم هذا العنوان سواء لقراءة البيانات او كتابة بيانات جديدة إلى السيرفر. وطبعا انت المسؤول عن تطوير هذه الروابط والدوال المرتبطة معها والمسؤولة عن ادارة البيانات.

 

اعود إلى سؤالك: اذا Restful api هي الية لارسال واستقبال البيانات وليس لانشاء الواجهات او ادارة قواعدة البيانات.

ما انت بحاجة للتركيز عليه هو Client Application او التطبيق الذي سيقوم باستهلاك هذه البيانات. يجب ان يكون لديك شكل البيانات القادمة من rest إلى client application التالي:

{
	"members": [
		{
			"id": 1,
			"name":"member1",
			"level": 1,
		},
		{
			"id": 2,
			"name":"member2",
			"level": 2,
		}
	
	]
}

لدي هنا مجموعة من الاعضاء مع تفاصيل كل عضو، واستطيع بكل بساطة ان احدد للعضو الاول اضافة موضوع واحد والعضو الثاني اضافة موضوعين، بالاستفادة من خاصية level ضمن هذه الـ api

بالتالي حاليا انت بحاجة لقراءة البيانات من قاعدة البيانات على السيرفر وتحويلها إلى json كما في المثال، او xml بحسب ما يناسبك. ثم تعريف طرح هذه البيانات بشكل web service يمكن الوصول لها عن طريق روابط معينة.

وتقوم انت من خلال client application باستهلاك هذه البيانات وعرض واجهات المستخدم بالشكل المناسب.

ملاحظة: client application يمكن ان يكون

  1. Web app
  2. Desktop app
  3. Mobile app
  4. IoT app
  5. TV app
  6. او اي تطبيق اخر

حاول تفصيل ما تحاول انجازه بالتفصيل حتى استطيع مساعدتك اكثر

بالتوفيق،،،

 

 

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...