flovet / flovet-ci-restserver
This package is auto-updated.
Last update: 2025-06-07 23:22:20 UTC
README
A fully RESTful server implementation for CodeIgniter using one library, one config file and one controller.
Requirements
- PHP 7.2 or greater
- CodeIgniter 3.1.11+
Installation
composer require composer require flovet/flovet-ci-restserver
Usage
CodeIgniter Rest Server is available on [Packagist](https://packagist.org/packages/composer require flovet/flovet-ci-restserver) (using semantic versioning), and installation via composer is the recommended way to install Codeigniter Rest Server. Just add this line to your composer.json
file:
"composer require flovet/flovet-ci-restserver": "^1.0"
or run
composer require composer require flovet/flovet-ci-restserver
Note that you will need to copy rest.php
to your config
directory (e.g. application/config
)
Step 1: Add this to your controller (should be before any of your code)
use flovet\RestServer\RestController;
Step 2: Extend your controller
class Example extends RestController
Basic GET example
Here is a basic example. This controller, which should be saved as Api.php
, can be called in two ways:
http://domain/api/users/
will return the list of all usershttp://domain/api/users/id/1
will only return information about the user with id = 1
<?php defined('BASEPATH') OR exit('No direct script access allowed'); use flovet\RestServer\RestController; class Api extends RestController { function __construct() { // Construct the parent class parent::__construct(); } public function users_get() { // Users from a data store e.g. database $users = [ ['id' => 0, 'name' => 'John', 'email' => 'john@example.com'], ['id' => 1, 'name' => 'Jim', 'email' => 'jim@example.com'], ]; $id = $this->get( 'id' ); if ( $id === null ) { // Check if the users data store contains users if ( $users ) { // Set the response and exit $this->response( $users, 200 ); } else { // Set the response and exit $this->response( [ 'status' => false, 'message' => 'No users were found' ], 404 ); } } else { if ( array_key_exists( $id, $users ) ) { $this->response( $users[$id], 200 ); } else { $this->response( [ 'status' => false, 'message' => 'No such user found' ], 404 ); } } } }