简单了解
。一个应用程序框架
。免费的、轻量、快速、功能强大
。基于M-V-C模型
。生成干净的URL( 便于优化 )
。扩展性强
。不需要模板引擎( 目标是性能最大化,选择不适用模板引擎 )
。拥有一个友好的中文用户社区
MVC介绍
。模型( Model )
提供增、删、改、查数据库资料这些功能
。视图( View )
负责提供展示给用户页面共功能
。控制器( Controller )
是模型、视图以及其他任何处理 的中介
下载CI框架
。application 文件夹存放的都是用户信息,我们着重看里面的三个文件夹,分别是 MVC
。index.php是入口文件
URL片段
。example.com/index.php/test/index
。第一部分(test):控制器
。第二部分( index ):方法、动作
创建一个自己的控制器
在controllers创建 home.php
public function world(){
echo 'hello world';
}
}
。访问 example.com/index.php/home/index / example.com/index.php/home/world ( 如果第二部分为空,默认为index )
配置默认控制器
你会发现默认访问的控制器是 welcome.php, 不是我们写的home.php, 那怎么默认访问自己的控制器呢? 配置如下:
在 application文件夹下的 config文件夹 找到 routes.php 改动一行
$route['default_controller'] = 'welcome'; 改成: $route['default_controller'] = 'home';
在控制器中:
$this -> load -> view( 'file_name' );
注意:.php文件的扩展名没有必要专门写,直接写视图的文件名就可以了,除非你使用了其他的扩展。
public function index(){
$this->load->view( 'home' );
}
给视图分配数据
在控制器 home.php中
public function index(){
// data 数据所有的视图中都可以接收到,不仅仅是 home.php
$data['title'] = '我是标题';
// 数组的形式传递数据
$data['name'] = array(
'name' => 'cherish',
'age' => '22',
'sex' => 'girl'
);
$this->load->view( 'home', $data );
$this->load->view( 'head' );
}
在视图 home.php 或者 head.php中:
Document
这个是home.php文件
$v ): ?>
辅助函数
1.在控制器中手动载入
$this->load->helpers('name');
application/config/autoload.php 找到
$autoload['helper'] = array('name');
按照以上两种方法之一 载入URL函数,
$autoload['helper'] = array('url');
然后就可以使用这三个辅助函数:
1.site_url(): 获得url参数
2.base_url() : application/config/config.php设置的路径
3.redirect( ‘控制器名/方法名’ ): 跳转
sit_url 和 base_url 区别:
假如你config文件里面的base_url和index_page是这样定义的:
config['base_url'] = "http://domain.com/";
config['index_page'] = "index.php";
那么你若使用site_url("news/php/2");则实际url为
http://domain.com/index.php/news/php/2
若使用base_url("news/php/2");则url为:
http://domain.com/news/php2
表单验证流程:
1.载入验证类
$this->load->library( 'form_validation' );
2.设置规则
$this->form_validation->set_rules( 'name值','报错信息','规则' );
$this->form_validation->run();
表单验证辅助函数
加载表单辅助函数(这样才可以用):
$this->load->helper( 'form' );
load->helper( 'form' );
// 加载视图
$this->load->view( 'admin/add.html' );
}
// 发表文章动作
public function send(){
// 载入表单验证类
$this->load->library( 'form_validation' );
// 设置规则
$this->form_validation->set_rules( 'title', '文章标题', 'required|min_length[5]' );
$this->form_validation->set_rules( 'type' '类型', 'required|integer' );
// 执行验证
$status = $this->form_validation->run();
if($status){
echo '数据库操作';
}else {
$this->load->view( 'admin/add.html' );
}
}
}
$config['language'] = ' English '; // 默认英文,可以把它替换成你的汉化包的名字;