REST API (หรือที่รู้จักกันในชื่อ RESTFUL API) เป็นอินเตอร์เฟสการเขียนโปรแกรมแอปพลิเคชัน (API หรือ Web API) ที่สอดคล้องกับข้อ จำกัด ของสไตล์สถาปัตยกรรม REST และช่วยให้มีการโต้ตอบกับบริการเว็บพักผ่อน ส่วนที่เหลือหมายถึงการถ่ายโอนสถานะการเป็นตัวแทนและถูกสร้างขึ้นโดยนักวิทยาศาสตร์คอมพิวเตอร์ Roy Fielding
API เป็นชุดของคำจำกัดความและโปรโตคอลสำหรับการสร้างและบูรณาการซอฟต์แวร์แอปพลิเคชัน บางครั้งมันเรียกว่าสัญญาระหว่างผู้ให้บริการข้อมูลและผู้ใช้ข้อมูล - สร้างเนื้อหาที่ต้องการจากผู้บริโภค (การโทร) และเนื้อหาที่ผู้ผลิตต้องการ (การตอบกลับ) ตัวอย่างเช่นการออกแบบ API สำหรับบริการสภาพอากาศสามารถระบุได้ว่าผู้ใช้จัดหารหัสไปรษณีย์และผู้ผลิตตอบกลับด้วยคำตอบ 2 ส่วนแรกคืออุณหภูมิสูงและที่สองต่ำ
เพียงแค่เฟรมเวิร์กจะกำหนดเส้นทางการร้องขอไปยังคอนโทรลเลอร์และรุ่นที่ถูกต้อง มันจะทำสิ่งนี้โดยการวิเคราะห์ URI คำขอสำหรับชื่อคอนโทรลเลอร์และประเภทคำขอ (ไม่ว่าจะโพสต์, ใส่, รับ ฯลฯ ) จากนั้นจะทำการตรวจสอบความมีสติก่อนที่จะเริ่มต้นคอนโทรลเลอร์ใหม่และวัตถุโมเดลและเรียกใช้วิธีที่ถูกต้องบนคอนโทรลเลอร์
สำหรับการสร้างเส้นทางใหม่คุณควรเปิดไฟล์ Route.php จากไดเรกทอรีเราเตอร์
มีตัวอย่างอยู่ในไฟล์ที่คุณสามารถใช้ตามที่คุณต้องการได้แล้ว
<?php
$ router -> get ( ' /home ' , ' home@index ' );
$ router -> post ( ' /home ' , ' home@post ' );
$ router -> get ( ' / ' , function () {
echo ' Welcome ' ;
});สำหรับการรับพารามิเตอร์ตามตัวอย่างด้านล่าง:
<?php
$ router -> get ( ' /:name ' , function ( $ param ) {
echo ' Welcome ' . $ param [ ' name ' ];
});ตัวอย่างเช่นเมื่อฉันใช้ URL นี้ "yourdomin.com/afgprogrammer" ฉันจะได้รับผลลัพธ์ต่อไปนี้
Welcome afgprogrammer
มันเป็นแค่เค้กชิ้น :)
หากคุณต้องการส่งคำขอโพสต์ตามตัวอย่างด้านล่าง:
$ router -> post ( ' /:name ' , function ( $ param ) {
echo ' Welcome ' . $ param [ ' name ' ];
});พิจารณาว่าการใช้ฐานข้อมูลคุณควรแก้ไขไฟล์ config.php ก่อนเริ่มใช้ฐานข้อมูล
สำหรับการเชื่อมต่อฐานข้อมูลคุณสามารถใช้ตัวอย่างด้านล่างในไดเรกทอรีโมเดล:
<?php
use MVC Model ;
class ModelsHome extends Model {
public function getAllUser () {
$ query = $ this -> db -> query ( " SELECT * FROM " . DB_PREFIX . " user " );
/*
$query->row : return 1 row
$query->rows : return all rows
$query->num_rows : return rows count
*/
return $ query -> rows ;
}
}