I am running into a case-sensitive problem that I'm not able to wrap my head around it appears.
This is what my file structure looks like. I am only entering the directories that I am working with, but I am in fact using a full-install of CI3.
/application
....
/controllers/
application_controller.php
/core/
MY_Controller.php
Public_controller.php
....
/models/
Application_model.php
....
Here is what the class definition syntax looks like:
/application/core/My_Controller.php
class MY_Controller extends CI_Controller
{
function __construct()
{
parent::__construct();
}
}
/application/core/Public_Controller.php
class Public_Controller extends MY_Controller
{
function __construct()
{
parent::__construct();
}
// Application logic here...
}
/application/controllers/application_controller.php
class Application_controller extends Public_Controller
{
public function __construct()
{
parent::__construct();
}
// Application logic here...
}
Reading the docs, I see that I should name my classes something like:
Foo_Controller.php
Then i've always (thought) that the class definition should match the file name. So:
class Foo_Controller extends Bar_Controller {
....
}
Then I either get a 500 error, or I get no errors, and a white page.
When I work locally (mac) everything works perfectly. As of right now (using the syntax above) I am at least getting the default codeigniter 404 page. When use
error_log(__FILE__);
at the top of each class, all I am getting to is My_Controller.php
Thank you for any suggestions!
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…