the problem I am having is that I am trying to use a custom library inside of another custom library I made within codeigniter. They are both in the libraries folder and CodeIgniter tells me that I have to first load the instance of CI which I did...
class MyClass {
public function __construct()
{
$CI =& get_instance();
$CI->load->library("OtherClass");
}
Now inside of a function within this class I am trying to use my other library..
public function my_function()
{
$CI->otherclass->function_inside_this_class();
}
The error I am getting is
A PHP Error was encountered
Severity: Notice
Message: Undefined variable: CI
Filename: libraries/MyClass.php
Line Number: 20
Is there something I am missing in terms of declaring the codeigniter instance itself?
Thank you!
Your CI variable scope is limited to the constructor function at the moment. You can make a class variable that has class scope and will be accessible via $this->variable
in all functions within that class.
class MyClass {
private $_CI; // make a private class variable here.
public function __construct()
{
$this->_CI =& get_instance();
$this->_CI->load->library("OtherClass");
}
public function my_function()
{
$this->_CI->otherclass->function_inside_this_class();
}
I think you shouldn't use CI. Include the second_library.php
and create a new class in first_library.php
. Or isn't possible?