The CodeIgniter framework with core custom
composer create-project ngthuc/ci-composer
composer update
composer require ngthuc/ci-composer
composer update
/vendor/ngthuc/ci-composer/app/
to the root folder structure:
root # → Root Directory
└── vendor/
└── ngthuc/
└── ci-composer/
└── app/
├── apllication/
├── public/
├── .bowerrc
├── .editorconfig
├── .gitignore
├── .htaccess
├── [.]env
├── bower.json
├── index.php
└── license.txt
www/
) and use built-in web server (with PHP 5.4.0 or newer) via command:
php -S <address>:<port> -t <YOUR_PROJECT_FOLDER/>
# Example use this command on root directory
php -S localhost:8000
CodeIgniter Rest Server is available on package.
Step 1: Add this to your controller (should be before any of your code)
use chriskacerguis\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 chriskacerguis\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 );
}
}
}
}
This project using projects or dependencies:
CodeIgniter Core Custom is licensed under MIT License.