انشاء واختيار api مع قاعدة البيانات mysql - Angular


بالنسبة لموضوع اختيار API  فالمسألة راجعة اليك .فاذا كنت قد استخدمت من قبل api معين  فبامكانك استخدامه مع angular  اما اذا كنت تود البحث عن api يتناسب مع اطار العمل الدي تعمل عليه  ولنقل مثل انك تتقن اطار عمل laravel  او ماشابه فبامكانك ايضا البحث عن api  يكون على شكل اضافة تضيفه باطار عملك   فهذا ايضا جيد  اما لو كنت تستخدم  لغة برمجة اخرى مثل java  او #C فأنت ادرى بهذه المواضيع وبامكانك البحث عن REST API مكتوبة بهذه اللغات البرمجية

وادا لم تكن ترغب بالدخول بمتاهات وتعقيدات فبامكانك ايضا استخدام هذا الapi  الذي سنستخدمه في درسنا  فهو سهل الاستخدام وبسيط في التنصيب لايحتاج للكثير من العناء كما انه يوفر اغلب الاشياء التي نحتاجها في بناء تطبيقات ومشاريع في الويب .
مسار api حمله من github
https://github.com/mevdschee/php-crud-api/tree/v1
طريقة التنصيب سهلة جدا
ماعليك سوى تحميل المشروع من github و انشاء قاعدة بيانات جديدة  ثم الدخول لملف api.php وتعديل اعدادات قاعدة البيانات
// uncomment the lines below when running in stand-alone mode:

 $api = new PHP_CRUD_API(array(
 'dbengine'=>'MySQL',
  'hostname'=>'localhost',
 'username'=>'root',
  'password'=>'root',
  'database'=>'my_db_api',
  'charset'=>'utf8'
 ));
 $api->executeCommand();

انشئ  قاعدة البيانات ولنسميها مثلا my_db_api 
CREATE DATABASE `my_db_api`;

انشيء جدول الأعضاء  كمثال فقط حتى نتأكد ان api تعمل بشكل جيد
CREATE TABLE my_db_api.users (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `username` varchar(30) NOT NULL,
  `password` varchar(15) NOT NULL,
  `email` varchar(75) NOT NULL,
   PRIMARY KEY (id)

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

أضف بعض المستخدمين 
INSERT INTO `users` ( `username`, `password`, `email`) VALUES
('seif', '123456', 'contact@exportdeveloper.com'),
('kamal', '123456', 'kamal@gmail.com'),
('issam', '123456', 'issam@gmail.com'),
('yasmine', '123456', 'yasmine@gmail.com'),
('oussama', '123456', 'oussama@gmail.com');

بعد انشاء قاعدة البيانات واعداد ال api قم بتشغيل apache (السرفر المحلي)  وقم باقلاع  api
انا سميت مجلد  المشروع webapi   والدخول عليه يتم بهذا الشكل
http://localhost/webapi/api.php

جرب  استعرض قائمة المسخدمين الدين انشئناهم بقاعدة البيانات  .عن طريق اضافة اسم الجدول users الى  المسار
http://localhost/webapi/api.php/users
سوف يستعرض المتصفح هذه النتيجة
{
"users": {
"columns": [
"id",
"username",
"password",
"email"
],
"records": [
[
2,
"seif",
"123456",
"contact@exportdeveloper.com"
],
[
3,
"kamal",
"123456",
"kamal@gmail.com"
],
[
4,
"issam",
"123456",
"issam@gmail.com"
],
[
5,
"yasmine",
"123456",
"yasmine@gmail.com"
],
[
6,
"oussama",
"123456",
"oussama@gmail.com"
]
]
}
}

طبعا لانحتاج الى مثل هذه النتائج لتكون بهذا الشكل وانما نحتاجها على شكل objects حتى يسهل على angular التقاطها وسنضيف دائما الى المسارات هذه التعليمة  لكي يعطي النتائج حسب حاجتنا  transform=1  ليصبح  المسار هكذا
http://localhost/webapi/api.php/users?transform=1
والنتيجة هي object  بهذا الشكل
{
"users": [
{
"id": 2,
"username": "seif",
"password": "123456",
"email": "contact@exportdeveloper.com"
},
{
"id": 3,
"username": "kamal",
"password": "123456",
"email": "kamal@gmail.com"
},
{
"id": 4,
"username": "issam",
"password": "123456",
"email": "issam@gmail.com"
},
{
"id": 5,
"username": "yasmine",
"password": "123456",
"email": "yasmine@gmail.com"
},
{
"id": 6,
"username": "oussama",
"password": "123456",
"email": "oussama@gmail.com"
}
]
}

نستطيع جلب بيانات للاعمدة التي نريد مثلا  username
http://2mp/api/api.php/users?columns=username&transform=1

تستطيع القاء نظرة على التوثيق (Docs) الخاص بهذه ال api  للمزيد من المعلومات
https://github.com/mevdschee/php-crud-api/wiki

 

الدروس السابقة :

  1. المستوى الثاني من Angular

تعليقات