برمجةوتقنية المعلومات C. P. W
620 subscribers
810 photos
94 videos
303 files
644 links
عالم الحاسوب برمجه وتقنيه وتطوير شرح كل ما يتطلب في مجال علوم الحاسوب والبرمجة
https://t.me/programming_C_w
قنات الجرافيكس @l_d_gh
#Digitalmarketing
#programming
#AI #CPA
#learn
التواصل معي @Eng_sharaf1
Download Telegram
السلام عليكم ورحمة الله وبركاته

في عالم الويب وتحديداً تطبيقات ال Backend لدينا نوعان تقريباً من التطبيقات ، وهي التطبيقات العادية التي ترد بصفحات html والتطبيقات التي ترد ببيانات فقط والتي تسمى api .
يتميز النوع الثاني بانه اكثر احترافية لان استعمالهم لا يقتصر على صفحات الانترنت التى في المتصفح فقط ، بل يمتد استعمالهم الى اغلب انواع التطبيقات التي تعمل كواجهة للمستخدم مثل تطبيقات الاندرويد او تطبيقات سطح المكتب .

دعونا اليوم نرى كيف يمكن عمل api بسيط باستخدام php ، لذا جهز محررك وابدا معي الخطوات البسيطة التالية :
1 - انشئ مشروع جديد (مجلد) باسم api (او اي اسم) .
2 - انشئ ملف بداخله باسم index.php وافتح المشروع على محررك .
3 - اكتب الكود التالي في الملف .
<?php 

header("Content-Type: application/json");
// get data from database and make your logic
$array = array(
"name" => "Ali",
"age" => 20
);

echo json_encode($array);


4 - شغل المشروع
تم ، الان اصبح لديك api بسيط يعيد بيانات بصيغة json .

دعني اشرح الغريب في الكود ، اولاً والزامياً تحديد نوع الرد داخل دالة header وحددنا ان قيمة Content-Type هي application/json اي ان الرد عبارة عن json .
ثانياً بالسطر الاخير قمنا بطباعة البيانات لكن باستخدام دالة json_encode والتي تقوم بتحويل المصفوفة الى json .

الان السؤال الاهم ، كيف اجلب البيانات من هذا الapi ؟ والامر بسيط وبدون تعقيد انظر الكود التالي الذي يقوم بجلب البيانات من هذا الapi باعتبار ان الapi شعمل على localhost:8000 كالتالي :
<!DOCTYPE html>
<html lang="en">
<head>
<title>Test api</title>
</head>
<body>
<div id="content">Click the button</div>
<button onclick="getData()">Get Data</button>

<script>
async function getData(){
const data = await fetch("http://localhost:8000/");
const jsonData = await data.json();
const div = document.getElementById("content");
div.innerHTML = `Name is : ${jsonData['name']}<br>Age is ${jsonData['age']}`;
}
</script>
</body>
</html>


الصفحة السابقة تقوم بتنفيذ الدالة getData عند النقر على الزر ، والذي يقوم بارسال طلب الى رابط الapi ويجب ان تكون الدالة متزامنة async ، بعد ان ترسل الطلب يتم تحويل الرد الى مصفوفة بالسطر الذي يليه باستخدام الدالة data.json() ثم يتم طباعة النتائج .

ما سبق كان تطبيق api بسيط ، ان شاء الله سيكون لدينا تفصيل اكثر لاستعمال ال EndPoints بشكل اكثر تقدماً ، يمكنك رؤية احد المشاريع التي شاركت بها في عمل معمارية بدائية مشابهة للارافيل على Github .
مكونات مفتوحة المصدر جاهزة لاكثر من اطار عمل تسهل عليك حياتك .
رابط الموقع : https://flowbite.com

يمكنك تحميل الموقع من github على الرابط : https://github.com/themesberg
في عالم مفتوح المصدر وجدت منصة بنيت على انها تويتر (x حالياً) ولكنها لا مركزية .

لمحبي الخصوصية والمنصات التي لا تجمع البيانات
https://asemnajee.bsky.social