A special package that returns an application based on Codeigniter 3 as a single variable. Might be useful when testing a Codeigniter 3 project to frameworks such as PHPUnit.
Install Spark Plug through Composer:
$ composer require rougin/spark-plug$ci = Rougin\SparkPlug\Instance::create();
// You can now use the CI_Controller instance
$ci->load->helper('inflector');Note
Instead of CI_Controller, it returns Rougin\SparkPlug\Controller for type-hinting its helpers and libraries.
use Rougin\SparkPlug\SparkPlug;
$sparkplug = new SparkPlug($GLOBALS, $_SERVER);
$ci = $sparkplug->instance();
// The Inflector helper is now loaded ---
$ci->load->helper('inflector');
// --------------------------------------use Rougin\SparkPlug\SparkPlug;
$sparkplug = new SparkPlug($GLOBALS, $_SERVER);
// Set the value of the APPPATH constant ---
$sparkplug->set('APPPATH', '/path/to/app');
// -----------------------------------------
$ci = $sparkplug->instance();Available constants that can be modified:
APPPATHVENDORVIEWPATH
Note
If setting a new APPPATH value, the value of VIEWPATH will be set to APPPATH/views.
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);
}
}Please see CHANGELOG for more information what has changed recently.
$ composer testThe MIT License (MIT). Please see LICENSE for more information.