第一节视频:php
MVC介绍:css
一、模型(Model)数据库
提供增、删、改、查数据库资料这些功能;数组
二、视图(View)app
负责提供展现给用户页面功能;函数
三、控制器(Controller)this
是模型、视图以及其余任何处理的中介;url
URL片断:spa
example.com/index.php/test/index视频
第一部分(test):控制器;
第二部分(index):方法动做;
第二节视频:
要点:
一、配置默认控制器
二、如何建立与载入视图文件
三、分配给视图数据
四、处理视图中的分配的数据
五、辅助函数与其中的URL辅助函数
六、扩展自定义自定义函数
一、配置默认控制器:
在application/config/routes.php里面找到 $route['default_controller'] = 'welcome';修改welcome;
二、如何建立与载入视图文件:
载入视图:
在控制器中:
$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');
}
}
三、如何给视图分配数据:
$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; ?>
四、载入辅助函数:
辅助函数:
一、system/helpers或application/helpers文件夹;
二、application/helpers优先级高于system/helpers
载入:(name为辅助函数名)
在控制器中手动载入:
$this ->load ->helper('name');
自动载入:
application/config/autoload.php里找到;
$autoload['helper'] = array('name');
URL辅助函数:
前提:载入URL函数:
一、$this -> load ->helper('url');
二、application/config/autoload.php里设置$autoload['helper'] = array('url');比较经常使用,建议放入自动加载;
一、site_url()
得到url参数段路径;
site_url()加上两个片断能够直接访问控制器和控制器里面的方法;
二、base_url()
application/config/config.php设置的路径,或者根路径;
base_url()能够用来组合一些css、js、图片等的路径;
三、redirect()
跳转;
redirect('参数1/参数2');参数1为控制器名,参数2为方法名;能够从一个控制器的方法里面跳到另外一个控制器的方法里;
五、扩展自定义函数:
在system/core/Common.php下定义本身的函数,可全局访问;