第一节视频:
MVC介绍:
1、模型(Model)
提供增、删、改、查数据库资料这些功能;
2、视图(View)
负责提供展示给用户页面功能;
3、控制器(Controller)
是模型、视图以及其他任何处理的中介;
URL片段:
example.com/index.php/test/index
第一部分(test):控制器;
第二部分(index):方法动作;
第二节视频:
要点:
1、配置默认控制器
2、如何创建与载入视图文件
3、分配给视图数据
4、处理视图中的分配的数据
5、辅助函数与其中的URL辅助函数
6、扩展自定义自定义函数
1、配置默认控制器:
在application/config/routes.php里面找到 $route['default_controller'] = 'welcome';修改welcome;
2、如何创建与载入视图文件:
载入视图:
在控制器中:
$this -> load -> view('file_name');
上面的file_name便是你的视图文件的名字。注意: .php文件的扩展名(后缀名)没有必要写出,除非你使用了其它的扩展名。
也可以按文件夹存储:
$this -> load -> view('folder_name/file_name');
注意:在同一控制器的同一方法中可同时载入多个模板,载入的模板在同一页面中堆叠显示;
class Home extends CI_Controller{
public function index(){
$this -> load ->view('head');
$this -> load ->view('home');
$this -> load ->view('foot');
}
}
3、如何给视图分配数据:
$data = array(
'title' => 'houdunwang',
'heading' => 'My Heading',
'message' => 'My Message'
);
$this ->load ->view('file_name',$data);
注意:在同一控制器的同一个方法中载入的多个模板,在向载入的多个模板传入数据时,只需向第一个模板传入数据,其余模板即可获得获得传入的数据:
class Home extends CI_Controller{
public function index(){
$data['title'] = "我是标题";
$this -> load ->view('head',$data);
$this -> load ->view('home');//该模板也可获得$data传入的数据;
$this -> load ->view('foot');//该模板也可获得$data传入的数据;
}
}
如何在视图中处理分配的数据:(遍历数组)
<?php foreach($todo_list as $item): ?>
<li><?php echo $item; ?></li>
<?php endforeach; ?>
4、载入辅助函数:
辅助函数:
1、system/helpers或application/helpers文件夹;
2、application/helpers优先级高于system/helpers
载入:(name为辅助函数名)
在控制器中手动载入:
$this ->load ->helper('name');
自动载入:
application/config/autoload.php里找到;
$autoload['helper'] = array('name');
URL辅助函数:
前提:载入URL函数:
1、$this -> load ->helper('url');
2、application/config/autoload.php里设置$autoload['helper'] = array('url');比较常用,建议放入自动加载;
1、site_url()
获得url参数段路径;
site_url()加上两个片段可以直接访问控制器和控制器里面的方法;
2、base_url()
application/config/config.php设置的路径,或者根路径;
base_url()可以用来组合一些css、js、图片等的路径;
3、redirect()
跳转;
redirect('参数1/参数2');参数1为控制器名,参数2为方法名;可以从一个控制器的方法里面跳到另一个控制器的方法里;
5、扩展自定义函数:
在system/core/Common.php下定义自己的函数,可全局访问;