CodeIgniter Forums

Full Version: Building REST APIs code Igniter
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
I am trying to develop REST APIs for my website. I am using CodeIgniter's PHP Framework. I have followed the tutorial mentioned on to create the restful apis. The tutorial is based upon the code developed on

I have placed the rest.php in application/config folder and REST_Controller.php in application/libraries/

I have created an api in application/controllers/example.php

require APPPATH.'/libraries/REST_Controller.php';
class example extends REST_Controller
        function __construct()
            // Construct our parent class
       function user_get()
                $this->response(NULL, 400);
            // $user = $this->some_model->getSomething( $this->get('id') );
            $users = array(
                1 => array('id' => 1, 'name' => 'Some Guy', 'email' => '[email protected]', 'fact' => 'Loves swimming'),
                2 => array('id' => 2, 'name' => 'Person Face', 'email' => '[email protected]', 'fact' => 'Has a huge face'),
                3 => array('id' => 3, 'name' => 'Scotty', 'email' => '[email protected]', 'fact' => 'Is a Scott!', array('hobbies' => array('fartings', 'bikes'))),

            $user = @$users[$this->get('id')];

                $this->response($user, 200); // 200 being the HTTP response code
                $this->response(array('error' => 'User could not be found'), 404);
I have a .htaccess file as below:

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L]

However when I send a GET Request to it redirects to the homepage. Could someone guide me
Did you edit your config file? the uri_protocol? just set it into 'AUTO'.
array('hobbies' => array('fartings', 'bikes')) - for newer original versions of Format.php this array causes error if I remember correctly.

I have the current with modifications, it is downgraded for PHP < 5.4 with keeping BC as much as it is possible.

Here is code from the tutorial that works -

Here you can find the modified libraries