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

السؤال

نشر

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

شاهدت عديد من مواقع تشرح api 

فهمت منهم

سؤال الذي أريد إجابة له 

هل هو طريقة للتواصل معا قاعدة بيانات بمعني مجرد نجهز روابط وهو يتواصل معا قاعدة بيانات مثلا انا ادخل بيانات او صفحة عرض يجلب عن طريق api

('Route.get('/users تجلب كل مستخدمين من قاعدة بيانات وطريقة رجوع بي بيانات عن طريق json هيا key او value ممكن توضيح اخواني كيف انشء api خاص بي 

 

Recommended Posts

  • 0
نشر

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

نعم ما تقوله صحيح إلى حد ما . إن ال API (واجهة برمجة التطبيقات) هو ببساطة وسيلة للتواصل بين عدة أنظمة معا أو بين الواجهة الأمامية (Frontend) والخلفية (Backend). والهدف منه هو الوصول إلى البيانات من قاعدة بيانات مثلا سواء لجلبها أو إضافتها أو تعديلها أو حتى حذفها.

لاحظ أنك حينما تستعمل أو تنشأ صفحة php في الموقع لديك حتى تعمل تلك الصفحة يجب عليك زيارة تلك الصفحة في المتصفح . ماذا لو أردنا مثلا عرض البيانات التي في تلك الصفحة في تطبيق للهاتف ماذا نفعل ؟ ماذا لو أردنا توفير تلك البيانات لمواقع أخرى ؟ حيث يرسل شخص ما طلب من موقع أخر لجلب بيانات لدينا ؟

هنا لا يمكن فعل ذلك من خلال صفحة php العادية . ولكننا نستعمل هنا ال API حيث ننشأ ال API وهذا ال  API يستقبل الطلبات من أى مكان سواء كان تطبيق ويب أو تطبيق هاتف محمول أو شخص أخر يريد جلب بيانات (مثلا جلب بيانات الطقس لعرضها في أى موقع ) . وهنا بعد إنشاء هذا ال API نوفر الرابط الخاص به والبيانات التي يحتاجها وما هو شكل البيانات التي يتم إعادتها . وهكذا يمكن لأى شخص إرسال الطلب إلى ال API وإستقبال البيانات والمعلومات منه .

ولتبسيط الفكرة تخيل أن ال API هو نادل (الشخص الذي يستقبل الطلبات) في مطعم .

  • وهنا المستخدم يطلب طلب طعام من هذا النادل (مثل إرسال طلب HTTP مثل Route.get('/users'))
  • هنا النادل (API) يستقبل هذا الطلب.
  • ثم يذهب إلى المطعم (الخادم الذي يتصل بقاعدة البيانات).
  • يقوم الطاهي (وهو الخادم) بتنفيذ الطلب (هنا يتم تنفيذ الطلب وإعاداة البيانات من قاعدة البيانات التي طلبها المستخدم) وعند إنتهاء الطلب يرسل الرد مع النادل (API).
  • هنا النادل (API) بعد أن إستقبل الطلب (الرد) من الطاهي (الخادم) يقوم بإعادة الرد إلى المستخدم الذي طلبه (وغالبا ما يكون الرد من نوع JSON) .

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

وإليك شرح مفصل له :

 

ولإنشاء Api هو فقط إنشاء ملف php يستقبل الطلبات ويعيد البيانات على هيئة JSON هكذا :

<?php
// إعداد رؤوس الاستجابة
header("Access-Control-Allow-Origin: *");
header("Content-Type: application/json; charset=UTF-8");

// بيانات الاتصال بقاعدة البيانات
$host = 'localhost';
$db   = 'my_api_db';
$user = 'root';
$pass = '';

// الاتصال بقاعدة البيانات
$dsn = "mysql:host=$host;dbname=$db;charset=$charset";

try {
    $pdo = new PDO($dsn, $user, $pass);
} catch (PDOException $e) {
    http_response_code(500);
    echo json_encode(['error' => 'فشل الاتصال بقاعدة البيانات']);
    exit;
}

// تنفيذ استعلام
$stmt = $pdo->query("SELECT * FROM users");
$users = $stmt->fetchAll(PDO::FETCH_ASSOC);

// إرجاع النتيجة على شكل JSON
echo json_encode($users);

وهكذا عندما يتم طلب الصفحة السابقة ولتكن مثلا بإسن api.php :

http://localhost/api.php

سيتم إعادة الرد هكذا :

[
  {
    "id": 1,
    "name": "Mohamed",
    "email": "mohamed@example.com"
  },
  {
    "id": 2,
    "name": "Ayman",
    "email": "ayman@example.com"
  }
]

وهكذا أنت أنشأت أول api لك.

  • 0
نشر (معدل)

فهمت منك 

اذا هل في تطبيقات طقس يوميا في اشخاص يدخلون درجات حرارة ونحن عندما نطلب رابط تظهر لنا ما دخلو 

وكدلك في مواقع كورة يوميا يدخلون مواعيد مباريات ونحن نطلب رابط تظهر لنا

تم التعديل في بواسطة ايمن ميلاد
  • 0
نشر
بتاريخ 6 دقائق مضت قال ايمن ميلاد:

فهمت منك 

اذا هل في تطبيقات طقس يوميا في اشخاص يدخلون درجات حرارة ونحن عندما نطلب رابط تظهر لنا ما دخلو 

وكدلك في مواقع كورة يوميا يدخلون مواعيد مباريات ونحن نطلب رابط تظهر لنا

نعم هذا صحيح . هناك الأشخاص تقوم بوضع البيانات في قاعدة البيانات وإنشاء API لك وتوضيح الرابط والبيانات المطلوبة .

بعد ذلك عندما ترسل طلب لهذا ال API يقومون بإحضار تلك البيانات وإعادتها لك سواء كان نتيجة مباريات أو بيانات طقس أو غيره.

  • 0
نشر
بتاريخ 2 دقائق مضت قال محمد عاطف17:

نعم هذا صحيح . هناك الأشخاص تقوم بوضع البيانات في قاعدة البيانات وإنشاء API لك وتوضيح الرابط والبيانات المطلوبة .

بعد ذلك عندما ترسل طلب لهذا ال API يقومون بإحضار تلك البيانات وإعادتها لك سواء كان نتيجة مباريات أو بيانات طقس أو غيره.

اخي محمد عاطف من خلال خبرتك كيف أقيم نفسي في مجال البرمجة مثلا هل ضروري من جافا سكربت قبل php مثل مشروع شؤون الموظفين في قائمة select ضروري من Javascript لإظهار الدرجة الجديدة للموظف

كم تمنيت أن أشاهد لكم كورس علي أكاديمية 

  • 0
نشر
بتاريخ 1 دقيقة مضت قال ايمن ميلاد:

اخي محمد عاطف من خلال خبرتك كيف أقيم نفسي في مجال البرمجة مثلا هل ضروري من جافا سكربت قبل php مثل مشروع شؤون الموظفين في قائمة select ضروري من Javascript لإظهار الدرجة الجديدة للموظف

كم تمنيت أن أشاهد لكم كورس علي أكاديمية 

الأمر يعتمد على التخصص الذي اخترته، أعتقد أنك تريد أن تصبح مطور Full-stack، إذن تعلم جافاسكريبت لا غنى عنه، طالما اخترت مجال الويب سيتعين عليك التعامل معها بلا شك، سواء في الواجهة الأمامية أو في الواجهة الخلفية من خلال Node.js حيث ستتعلمها في مرحلة متقدمة بعد الوصول لمستوى جيد في PHP ولارافل، وذلك لأنها مطلوبة ومستخدمة في سوق العمل ومناسبة أكثر لمشاريع معينة.

في الوقت الحالي، ركز على تعلم أساسيات جافاسكريبت ولا تتعمق كثيرًا، وتعمق أكثر في PHP طالما هي اللغة الأساسية بالنسبة لك وإطار لارافل الخاص بها، وبعد فترة تستطيع التعمق في جافاسكريبت والتقنيات الخاصة بها مثل React أو Vue.js.

وتلك الأساسيات لازمة لكي تتمكن من استخدام المكتبات المبنية بواسطة جافاسكريبت وأيضًا تنفيذ المنطق الذي تريده في الواجهة الأمامية والتعامل مع الأخطاء.

وللعلم يوجد مكتبة Alpine.js توفر لك التفاعلية التي توفرها جافاسكريبت بدون الحاجة للتعمق في اللغة، تعلمها بعد تعلم أساسيات اللغة وستحقق استفادة منها لحين التعمق في جافاسكريبت.

  • 0
نشر

نعم، إذا قمت باستبدال الرابط

https://jsonplaceholder.typicode.com/users

برابط

http://localhost/users

في الكود المستخدم مع مكتبة Axios، فقد يتم عرض بيانات المستخدمين إذا كان هناك خادم محلي يعمل على localhost (مثل http://localhost:3000/users) ويعيد بيانات المستخدمين بتنسيق JSON. 

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

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

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

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   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.

  • إعلانات

  • تابعنا على



×
×
  • أضف...