Returns entire Codeigniter applications as single variables

Access a Codeigniter project inside a variable. Might be useful for testing frameworks.

View source code on Github

Spark Plug is a special PHP library that returns Codeigniter applications as single variables. This package might be useful when testing applications to frameworks such as PHPUnit.

Installation

Install Spark Plug through Composer:

$ composer require rougin/spark-plug

Basic Usage

Using the Instance helper

$ci = Rougin\SparkPlug\Instance::create();

// You can now use the CI_Controller instance
$ci->load->helper('inflector');

Using the SparkPlug class

use Rougin\SparkPlug\SparkPlug;

$sparkplug = SparkPlug($GLOBALS, $_SERVER);

$ci = $sparkplug->instance();

$ci->load->helper('inflector');

Modify constants to be defined

use Rougin\SparkPlug\SparkPlug;

$sparkplug = SparkPlug($GLOBALS, $_SERVER);

// Sets the value of the APPPATH constant
$sparkplug->set('APPPATH', '/path/to/app');

$ci = $sparkplug->instance();

Available constants to be modified:

NOTE: If you set a new APPPATH value, the value of VIEWPATH will be set to APPPATH/views.

Mock CI_Controller for unit testing

use Rougin\SparkPlug\Instance;

class SampleTest extends \PHPUnit_Framework_TestCase
{
    public function testCodeigniterInstance()
    {
        // Directory path to the test application
        $application = __DIR__ . '/TestApp';

        // Instance::create($path, $_SERVER, $GLOBALS)
        $ci = Instance::create($application);

        $this->assertInstanceOf('CI_Controller', $ci);
    }
}