我是CodeIgniter的新手,我刚刚通过他们的一些用户指南来帮助我了解如何做多个控制器.
我已经想出如何使用他们的一个示例加载多个页面.这是我的默认控制器,名为Site.php:
class Site extends CI_Controller {
public function index($page = 'home') {
if ( ! file_exists(APPPATH.'/views/'.$page.'.php')) {
// Whoops, we don't have a page for that!
show_404();
}
$data['title'] = ucfirst($page);
$this->load->view('header', $data);
$this->load->view($page, $data);
$this->load->view('footer', $data);
}
}
这一切都适用于我的routes.php:
$route['default_controller'] = 'site';
$route['(:any)'] = 'site/index/$1';
例如,当我访问localhost / website / index.php / about时,我有一些正确加载的视图.
现在,进一步了解控制器和URI路由.我创建了一个新的控制器,application / controllers / MyController.php,它的编码如下:
class MyController extends CI_Controller {
public function index() {
$this->load->view('header');
$this->load->view('my_controller');
$this->load->view('footer');
}
}
问题是,我不知道如何访问此页面.
我知道默认的URI模式是example.com/class/function/id/但是我尝试过localhost / website / mycontroller它并不起作用. Apache返回404.我尝试了很多操作,甚至像输入localhost / website / index.php / mycontroller一样愚蠢,但当然这不起作用.
使用多个控制器的正确方法是什么?我在这做错了什么?请帮助我学习,谢谢!
(另外,这是我在StackOverflow上的第一个正确的问题,如果我做错了什么或格式化错误,请告诉我!)