PHP框架CodeIgniter框架学习笔记

CodeIgniter 是一个小巧但功能强大的 PHP 框架,作为一个简单而“优雅”的工具包,它可以为 PHP 程序员建立功能完善的 Web 应用程序。如果你是一个使用共享主机,并且为客户所要求的期限而烦恼的开发人员,如果你已经厌倦了那些傻大笨粗的框架

那么 CodeIgniter 就是你所需要的,如果…

  • 你想要一个小巧的框架。
  • 你需要出色的性能。
  • 你需要广泛兼容标准主机上的各种 PHP 版本和配置。
  • 你想要一个几乎只需 0 配置的框架。
  • 你想要一个不需使用命令行的框架。
  • 你想要一个不需坚守限制性编码规则的框架。
  • 你对 PEAR 这种大规模集成类库不感兴趣。
  • 你不希望被迫学习一门模板语言(虽然可以选择你喜欢的模板解析器)。
  • 你不喜欢复杂,热爱简单。
  • 你需要清晰、完善的文档。

配置默认控制器
application/config/routes.php ---> route['default_controller']='你的控制器名称'
注意:新建控制器的时候有些名字是保留的,不能用的,查看有哪些:保留字

创建并载入视图文件

分配数据给视图

处理视图中分配的数据

辅助函数与其中的URL辅助函数

扩展自定义函数
在system/core/Common.php添加

seover wrap" notranslate="" print-yes="" crayon-os-pc="" crayon-font-verdana="">

1

2

3

4

5

6

7

8

9

10

11

12

13

/**

 * 自定义函数p()

 *    打印数组

 */

if ( ! function_exists('p'))

{

    function p($var)

    {

        

        print_r($var);

        

    }

}

 

1

2

3

4

5

function sucess($url,$msg){

    header('Content-Type:text/html;charset=utf-8');

    $url=site_url($url);

    

}

 

表单验证类的使用
1,载入验证类
$this->load->library('form_validation');
2,设置规则
$this->form_validation->set_rules('name值','标签名称','规则');
3,执行验证(返回bool值)
$this->form_validation->run();
实例:

4,表单验证辅助函数
载入验证辅助函数: $this->load->helper('form');
使用验证辅助函数:

1

2

3

4

5

set_value('name')//保留原来输入的数据,防止输出错误导致内容丢失

set_select();

set_checkbox();

set_radio();

form_error('name','<span>','</span>');

实例:
错误提示汉化:
1,下载汉化包放到application/language/
2,在application/config/config.php  修改$config['language']=’ch’ //ch是汉化包文件夹名称

使用公共表单验证策略(提高复用性,比如添加和编辑可以使用相同的验证规则)
1,建立application/config/form_validation.php文件:

2,直接使用配置文件验证规则

 

定义模型Model
新建文件:application/models/name_model.php,内容如下:
class Name_model extends CI_Model{  //注意,模型首字母要大写
public function add($data){
$this->db->insert(‘table’,$data);
}
}
准备数据,并使用该模型:
$data=array(
‘name’=>$this->input->post(‘name’);
);
$this->load->model(‘Name_model’);
$this->Name_model->add($data);    //使用该模型里的方法

使用别名,简化输入:
$this->load->model(‘Name_model’,’n’);
$this->n->add($data);    //使用该模型里的方法

输入类的使用
$this->input->post(‘name’);  //返回布尔值,可以用来判断
$this->input->get(‘name’);
$this->input->server(‘HTTP_HOST’);  //$_SERVER是一个超全局数组

防止跨站
配置文件:application/config/config.php
$config['global_xss_filtering']=TRUE  //默认  FLASE

数据库配置
1,配置文件:application/config/database.php,内容为:

2,配置自动加载:application/config/autoload.php
修改: $autoload['libraries']=array('database');  //默认是不开启的

使用AR类操作数据【在模型里操作,查询需return $data】
配置文件:application/config/database.php
配置项:$active_record=TRUE   //默认开启

【模型】
增加:
public function add($data){
$this->db->insert(‘table’,$data);
}

查询:
public function list(){
$this->db->get(‘table’)->result_array();  //返回数组
//$this->db->get(‘table’)->result();  //返回对象
return $data;
}
public function edit_select($id){
$this->db->where(array(‘id’=>$id))->get(‘table’)->result_array();
return $data;
}

编辑:
public function edit_save($id,$data){
$this->db->update(‘table’,$data,array(‘id’=>$id));
}

删除:
public function del($id){
$this->db->delete(‘table’,array(‘id’=>$id));
}

【控制器】
使用构造函数
public function __construct(){
parent::__constrruct();
$this->load->model(‘Name_model’,’n’);
}

增加:
查询:
删除:
编辑:
public function edit(){
$id=$this->uri->segment(4);  //是第4个URL片段
$this->load->model(‘Name_model’,’n’);
$data['data']=$this->n->edit($id);
$this->load->helper(‘form’);
$this->load->view(‘admin/edit.html’,$data);
}

【视图】
传xID:
<a href=”<?php echo site_url(‘admin/user/del/’.$v['id']) ?>”>编辑</a>

开启调试模式
在当前函数使用: $this->output->enable_profiler(TRUE);

 

时间: 2024-10-27 01:17:42

PHP框架CodeIgniter框架学习笔记的相关文章

php框架codeigniter框架源代码分析,注释中文化,类库分析(一)

最近这几天决定看 ci框架的源代码的,因为它是轻量级的,代码文件的结构比较清晰,又index.php作为 入口,在codeigniter.php文件中加载所有的基础类,于是我挨个类滴看下去,并且在看的时候分析了每一步 关键的进程,而且对原来的英文注释进行了翻译,现在主要文件已经翻译完成,稍候会翻译并分析一些其他 的重要的类,敬请期待 这里的是 它的详细的执行过程,从入口到最后结束,进行了完整的记录,大家先看着,其他的分析,例 如,CI超类的结构,如何实现MVC模式,数据库类的实现,xss过滤类的

CI框架学习笔记(二) -入口文件index.php_php实例

上一节(CI框架学习笔记(一) - 环境安装.基本术语和框架流程)中,我们提到了CI框架的基本流程,这里再次贴出流程图,以备参考: 作为CI框架的入口文件,源码阅读,自然由此开始.在源码阅读的过程中,我们并不会逐行进行解释,而只解释核心的功能和实现. 1. 设置应用程序环境 define('ENVIRONMENT', 'development'); 这里的development可以是任何你喜欢的环境名称(比如dev,再如test),相对应的,你要在下面的switch case代码块中,对设定的环

mybatis学习笔记之基础框架(2)

mybatis学习笔记之基础框架(2) mybatis是一个持久层的框架,是apache下的顶级项目. mybatis让程序将主要精力放在sql上,通过mybatis提供的映射方式,自由灵活生成满足sql语句 mybatis可将向prparedStatement中的输入参数自动进行输入映射,将查询结果集灵活映射成java对象.(输出映射) SqlMapConfig.xml(是mybatis的全局配置文件,名称不固定) 配置了数据源/事务等mybatis运行环境 配置映射文件(配置sql语句) m

深度学习框架 Torch 7 问题笔记

  深度学习框架 Torch 7 问题笔记   1. 尝试第一个 CNN 的 torch版本, 代码如下: 1 -- We now have 5 steps left to do in training our first torch neural network 2 -- 1. Load and normalize data 3 -- 2. Define Neural Network 4 -- 3. Define Loss function 5 -- 4. Train network on t

PHP MVC框架路由学习笔记_php实例

提到PHP开发web,自然离不开开发框架,开发框架为我们提供了灵活的开发方式,MVC层分离,业务解耦等... 第一篇先来简单点的,说说MVC框架的路由功能... 一般的单入口框架路由都是这样的结构: domain/index.php/classname/functionname/var1/var2 这里的index.php 就被称为入口文件...对于服务器而言,你这里访问的就只有index.php 后面调用的controller 和里面的方法,甚至传值都是在框架内部基于PHP层面实现的. Tal

CI框架源码阅读笔记2 一切的入口 index.php

上一节(CI框架源码阅读笔记1 - 环境准备.基本术语和框架流程)中,我们提到了CI框架的基本流程,这里再次贴出流程图,以备参考: 作为CI框架的入口文件,源码阅读,自然由此开始.在源码阅读的过程中,我们并不会逐行进行解释,而只解释核心的功能和实现. 1. 设置应用程序环境 define("ENVIRONMENT", "development"); 这里的development可以是任何你喜欢的环境名称(比如dev,再如test),相对应的,你要在下面的switch

PHP CodeIgniter框架的工作原理研究

 这篇文章主要介绍了PHP CodeIgniter框架的工作原理研究,本文首先分析了它的工作流程,然后总结了它的工作原理,需要的朋友可以参考下     CodeIgniter(以下简称CI,官网以及中国站)是一个流行的PHP框架,小巧但功能强大,简洁轻量同时拥有很好的扩展性,在国内也比较受欢迎.另一方面,CI却没有与时俱进,并不支持PHP5.3之后的一些特性,导致它相对更适合较老一些的项目.虽然如此,CI仍是一个优秀的框架,而且它本身内核较小,源码优雅,适于学习. CI易于使用,可以方便的开发出

使用 CodeIgniter 框架快速开发 PHP 应用(一)

原文:使用 CodeIgniter 框架快速开发 PHP 应用(一)对 CodeIgniter 的介绍 大多数PHPer都想写出运行状态良好的应用程序,而且希望尽可能做得简单且不费事.这篇文章是有关 CodeIgniter的(以后简称CI),CI是一个达成上面目的的所谓框架. 如果你只是要达成一个最终的结果,而把中间所有的编码细节和复杂统统丢给一个框架,CI是你最好的朋友. CI有很多优点:免费, 轻量级, 容易安装, 它能使你的编程生涯变得很轻松. 这一章我们会告诉你: . CI 能为你做什么

使用 CodeIgniter 框架快速开发 PHP 应用(三)

原文:使用 CodeIgniter 框架快速开发 PHP 应用(三)分析网站结构 既然我们已经安装 CI ,我们开始了解它如何工作. 读者已经知道 CI 实现了MVC式样. 通过对目录和文件的内容进行分类, 而不是让代码大块大块地纠集在一起. 这一章,我们将会对 MVC 理论做个简短的介绍, 然后再介绍 CI 的MVC实现方式.特别地,要了解那些目录和文件如何互相交换信息?网站结构是怎样的?以及CI是如何自如地动作于其中的? 这一章将会介绍: .MVC 如何架构一个动态网站 .CI如何接收和分析