Table of Contents
SplintAppConttroller Class
The SplintAppController
class just like CI_Controller
class is the Class your Splint application controller need to extend to work properly and have access to important variables and methods.
Inherited Variables
[protected] $ci
This variable is the same as the root Code Igniter instance object gotten from a call to get_instance()
. This variable enables you access loaded resources within your application and beyond. It also gives you access to all methods and variables which the $this
variable will give you within a Class that extends CI_Controller
Class.
The example below shows how a loaded class within a SplinAppController is accessed.
defined('BASEPATH') OR exit('No direct script access allowed'); class Home extends SplintAppController { function index() { $this->load->splint("vendor/package_name", "+Class", null, "alias"); $this->ci->alias->someMethod(); } }
If you would like to access the loaded resource with the $this
variable, you will have to call the SplintAppController
method bind()
passing it the alias to bind to $this
. This function can take multiple aliases. See a modified example below.
defined('BASEPATH') OR exit('No direct script access allowed'); class Home extends SplintAppController { function index() { $this->load->splint("vendor/package_name", "+Class", null, "alias"); $this->bind("alias"); $this->alias->someMethod(); } }
[protected] $params
This variable holds the associative array passed to the call to $this→load→app()
function when loading your application. access it's values like below.
$this->params["paramN"];
[public] $splint
This is the fully qualified name of your application, rather the first argument passed when loading your application with a call to $this→load→app()
. Of course, it's a string. You can use this if when loading a resource from your application package using the $this→load→splint()
function.
Inherited Methods
[protected] bind()
This method as described above, binds specified aliases unto the $this
variable (Your SplintAppController instance). This is mainly for convenience as it allows you use the $this
variable with loaded resources rather than the $app
variable.
$this->bind("alias1", "alias2",........);
[public] view()
Loads a view from the application views
folder, It has the same parameters as Code Igniter's view loading function.
[public] library()
Loads a library class from the application libraries
folder, It has the same parameters as Code Igniter's library function loading function.
[public] model()
Loads a model from the application models
folder, It has the same parameters as Code Igniter's model loading function.
[public] fetch_param($param, $default)
This gets a value from the $this→params
array, returns the value of $default
if it doesn't exist. The value of $default
is false
by default.
[public] set_param($param, $value)
Sets a parameter in the $this→params
array.
[public] view_path($view)
Takes a $view
argument and appends in front of it, the path to your package view folder. This is necessary when dealing with a different package that demands a view and intends to load it from the main Code Igniter view path. This function helps route it back to your package view folder.
[protected] fill_params_in_array($params, &$array)
Takes and array of parameter keys to load into $array
from the $this→params
array of they exist.
[protected] parent_uri($uri)
Takes a URI and appends in front the URI of its parent CI_Controller
, i.e. The Controller method where $this→load→app()
was called from that began the app instance.