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:
APPPATH
VENDOR
VIEWPATH
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 test
The MIT License (MIT). Please see LICENSE for more information.