控制器负责逻辑处理,在控制器中加载module,取得数据,并把数据传给view,让view去渲染页面
控制器是一个类,类名首字母要大写,类要继承自父类CI_Controller,类文件首字母小写,控制器文件应该保存在 application/controllers/ 文件夹,你也可以在这个文件夹下面新增子文件夹,这样访问的时候,url中应该包含子文件名称。
在url中访问控制器首字母不必大写,url中可以不包含函数名,这时候会默认访问index函数
当你访问根目录的时候,CI会加载默认控制器,可以通过application/config/routes.php $route['default_controller']参数来设置默认控制器
url中紧挨着控制器名称的是函数名,如果你不想通过example.com/news/article/my_article.html这种方式来访问控制器news的article函数,可以通过在控制器中增加函数_remap来自己决定该调用哪个函数,article将作为一个参数传递给_remap函数
如:
function _remap($method)
{
if ($method == 'some_method')
{
$this->$method();
}
else
{
$this->comments();
}
}
控制器处理完成之后,默认会调用一个视图,进行输出,如果你不想默认输出,可以增加 _output()方法,自己决定应该如何处理输出。
如果你不想一个方法被通过url访问,可以在函数名前面加上下划线,如_article
不能通过example.com/news/_article/my_article.html访问_article方法
控制器中如果有自己的构造方法,必须在构造方法里面显式调用父类构造方法
友情链接:网购优惠网