CI开发笔记
CI中的mvc:
访问url使用的是passinfo//就是类似一个文件夹的方式
入口文件.php/控制器/方法(动作)
控制器:
1.不用加后缀 直接一个单词.php 文件名全部小写
2.控制器是直接或者间接的继承自CI_Controller
3.控制器中对方法的要求:只有public的才能被访问,不能用下划线开头命名
4.在控制器中加载视图:$this->load>view(''user/index);//加载user子目录下的index文件
5.分配变量:$this->load->vars('title','这是标题');
6.可以多次调用加载视图语句,加载多个视图
视图:
1.视图中可以直接使用原生php代码
2.输出变量:echo ' $title ';
3.多个变量输出:<?php foreach($list as $item); ?>
<?php=$item['name']?>
<?php endforeach; ?>
CI的超级对象(控制器对象):
当前的控制器对象,提供了很多属性:
$this->load:本质上是装载器类的实例
view():装载视图
vars():装载变量
database():装载数据库操作对象
model():装载模型对象
helper()
$this->uri():是CI_URI的实例
$this->uri->segment(4);//用来取url里面第几段的内容,第一段是入口下面的一个部分
$this->input->post('name')
$this->input->server('DOCUMENT_ROOT');//这种方式在视图里面也可以直接调用
在视图中,直接用$this来访问超级对象
数据库访问:
1.修改配置文件:Application/config/database.php,将数据库访问对象装载到超级对象当中去$this->db
2.$res->result();//返回数组,数组中是一个一个对象
3.$res->result_array();//返回的是一个二维数组,内部是关联数组
4.$res->rows();//返回第一条是数据的内容
参数绑定:
$sql="select * from 表名 where 查询条件";
$this->db->query($sql,查询条件);
自增id:
$this->db->insert_id();
//返回表名
$res=$this->db->get('表名');//返回结果集对象
$res->result();
$bool=$this->db->insert('表名',关联数组);
$bool=$this->db->update('表名',关联数组,条件);
$bool=$this->db->delete('表名',条件);
//显示最近一条数据库查询数据
echo $this->load->last_query();
扩展控制器:
application/config/config.php
$config["subclass_prefix"]="MY_";//设置了自己写的控制器的前缀
模型:
继承自CI_Model
可以使用超级对象中的属性
url相关函数
$this-load->helper('url');
$site_url('控制器/方法',);
base_url();