PHP Classes
elePHPant
Icontem

PHP CRUD REST API Server: REST API server with MySQLi based CRUD operations

Recommend this page to a friend!
  Info   View files Example   View files View files (7)   DownloadInstall with Composer Download .zip   Reputation   Support forum (1)   Blog    
Last Updated Ratings Unique User Downloads Download Rankings
2016-04-21 (6 months ago) RSS 2.0 feedStarStarStarStar 67%Total: 582 This week: 3All time: 5,047 This week: 377Up
Version License PHP version Categories
rest-api-with-mysqli 1.1Freeware5PHP 5, Databases, Web services
Collaborate with this project Author
Description

This class can be used to implement a REST API server with MySQLi based CRUD operations.

It provides a base class that can connect to a MySQL database server using MySQLi and execute basic CRUD operations like creating, retrieving, updating and deleting records from a given table.

The REST server class itself extends the base CRUD class and processes requests looking for the requested API function. It dispatches the request if the function exists, or return a 404 response if it does not exist.

The REST class can also retrieve the request parameter data for HTTP GET, POST, PUT and DELETE methods, as well process the API call response setting the appropriate headers and HTTP status.

Applications implementing the API just need to extend the REST server class and implement the supported API calls as class methods.

A demonstration API class is provided to show how to implement a API to manage users with records stored in a database.

Recommendations

What is the best PHP api creation class?
i need to create api to be executed in multiple devices

Innovation Award
PHP Programming Innovation award nominee
April 2016
Number 9
Nowadays, many sites provide an API, especially when they have a mobile application that needs to store and retrieve information from the site.

Many APIs provide function calls that execute CRUD operations (Create, Retrieve, Update and Delete) with data stored in a database.

This PHP package provides a solution to simplify all those goals. It provides means to easily create a REST API with functions that map to class methods.

At the same time it provide means to implement CRUD operations with a MySQL database.

The demonstration API provided with the package shows how you can easily implement an API to manipulate user records stored in a MySQL database.

Manuel Lemos
Picture of Bharat Parmar
  Performance   Level  
Name: Bharat Parmar <contact>
Classes: 10 packages by
Country: India India
Innovation award
Innovation award
Nominee: 3x

Details

REST API with MySQLi - CRUD Operations

Rest API class with MySQLi based CRUD operations and User Module as demo.

Developed By :

Bharat Parmar

Version :

1.0

File Structure :

1) config.php : Configuration File

2) bharatcode.sql : Database File.

3) class/Main.class.php : Main class file which contains many usefull methods for database operations, mail sending, validation.

4) rest/.htaccess : HTACCESS file for the URL redirection

5) rest/Rest.inc.php : This class file contains REST Standard basis api related methods.

Requirements :

1) PHP Version : 3.0 and above

Sample Code :

1) Get Users :

Request :

GET /bharat/restful/rest/users HTTP/1.1 Host: localhost Cache-Control: no-cache Postman-Token: 94ce58e8-5db7-4df4-19e5-457b29586d5f

2) Register User :

Request :

POST /bharat/restful/rest/register HTTP/1.1 Host: localhost Cache-Control: no-cache Postman-Token: ec8d2516-818d-4f3d-a417-9903575ccf81 Content-Type: application/x-www-form-urlencoded

Parameters : firstname, lastname, email, password firstname=Jack&email=jackthomas@gmail.com&lastname=Thomas&password=123456

Response :

{ "status": "success", "message": "register successfully.", "data": {

"user_id": 11

} }

3) Delete User :

Request :

DELETE /bharat/restful/rest/deleteuser?id=11 HTTP/1.1 Host: localhost Cache-Control: no-cache Postman-Token: 79e1e8cb-60a8-993a-7e63-d2831ed9ac16 Content-Type: multipart/form-data;

Response :

{ "status": "success", "message": "Total 1 record(s) Deleted.", "data": 1 }

4) Login :

Request :

POST /bharat/restful/rest/login HTTP/1.1 Host: localhost Cache-Control: no-cache Postman-Token: 651c7ef3-da80-0624-f519-b4ca8d39e8f5 Content-Type: application/x-www-form-urlencoded

Parameters : email, password email=jackthomasgmail.com&password=123456

Response :

{ "status": "success", "message": "logged in successfully.", "data": {

"user_id": 11

} }

  Files folder image Files  
File Role Description
Files folder imageclass (1 file)
Files folder imagerest (3 files)
Accessible without login Plain text file bharatcode.sql Data Database File
Accessible without login Plain text file config.php Conf. Configuration file
Accessible without login Plain text file README.md Doc. Read Me file

  Files folder image Files  /  class  
File Role Description
  Plain text file Main.class.php Class Main class file which includes CRUD methods

  Files folder image Files  /  rest  
File Role Description
  Accessible without login Plain text file .htaccess Data htaccess file for rest
  Accessible without login Plain text file api.php Example REST API methods
  Plain text file Rest.inc.php Class REST class

 Version Control Unique User Downloads Download Rankings  
 100%
Total:582
This week:3
All time:5,047
This week:377Up
 User Ratings  
 
 All time
Utility:91%StarStarStarStarStar
Consistency:83%StarStarStarStarStar
Documentation:58%StarStarStar
Examples:75%StarStarStarStar
Tests:-
Videos:-
Overall:67%StarStarStarStar
Rank:531