码迷,mamicode.com
首页 > 其他好文 > 详细

CodeIgniter框架——知识点汇总

时间:2014-08-18 23:16:43      阅读:943      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   color   使用   os   io   strong   

NO1、学习要点:

  一、CodeIgniter 框架的简介

  二、CodeIgniter 框架的安装

  三、CodeIgniter 框架的目录结构分析

  四、CodeIgniter 框架是如何工作的?

  五、CodeIgniter 框架中的控制器、视图、模型及数据库操作

  六、CodeIgniter 框架中辅助函数、类库、适配器的学习

  七、……

 

NO2、

一、CodeIgniter 是什么?

1、CodeIgniter 是一个应用程序框架

  CodeIgniter 是一个为用 PHP 编写网络应用程序的人员提供的工具包。它的目标是实现让你比从零开始编写代码更快速地开发项目,为此,CI 提供了一套丰富的类库来满足通常的任务需求,并且提供了一个简单的接口和逻辑结构来调用这些库。CodeIgniter 可以将需要完成的任务代码量最小化,这样你就可以把更多的精力放到项目的开发上了。

2、CodeIgniter 是免费的

    CodeIgniter 是经过 Apache/BSD-style 开源许可授权的,只要你愿意就可以使用它。

3、CodeIgniter 是轻量级的

    我们的核心系统只需要一些非常小的库,这与那些需要更多资源的框架完全相反。额外的库文件只在请求的时候加载,依需求而定,所以核心系统是非常快而且轻的。

4、CodeIgniter 是快速的

5、CodeIgniter 使用MVC模型

  CodeIgniter 使用了模型(Model)- 视图(View)- 控制(Controllers)的方法,这样可以更好地使表现层和逻辑层分离。这对项目的模板设计者来说是非常有用的,它最小化了模板中的程序代码量。

6、CodeIgniter 生成干净的URL 

    CodeIgniter 生成的 URL 非常干净而且是对搜索引擎友好化的。不同于标准的“字符串查询”方法,CodeIgniter使用了 基于段 的方法:
      example.com/news/article/121
  注意:index.php 文件是被默认包含在 URL 中的,但是可以通过更改 .htaccess 文件来改变这个设置。

7、CodeIgniter 功能强大   

    CodeIgniter 拥有全范围的类库,可以完成大多数通常需要的网络开发任务,包括:读取数据库、发送电子邮件、数据确认、保存 session 、对图片的操作,以及支持 XML-RPC 数据传输。

8、CodeIgniter 是可扩展的

    这个系统可以非常简单的通过自定义类库、辅助函数来进行扩展,或者也可以通过扩展类、系统钩子来实现。

9、CodeIgniter 不需要模板引擎

10、CodeIgniter 已彻底文档化

11、CodeIgniter 拥有一个良好的用户社区

 注:

(一)业务流程——应用程序流程图(数据流如何贯穿整个系统)

 bubuko.com,布布扣

(1)index.php 作为前端控制器,初始化运行 CodeIgniter 所需要的基本资源。
(2)Router 检查 HTTP 请求,以确定谁来处理请求。
(3)如果缓存(Cache)文件存在,它将绕过通常的系统执行顺序,被直接发送给浏览器。
(4)安全(Security)。应用程序控制器(Application Controller)装载之前,HTTP 请求和任何用户提交的数据将被过滤。
(5)控制器(Controller)装载模型、核心库、辅助函数,以及任何处理特定请求所需的其它资源。
(6)最终视图(View)渲染发送到 Web 浏览器中的内容。如果开启缓存(Caching),视图首先被缓存,所以将可用于以后的请求。

 

二、CodeIgniter 的安装

1、下载CodeIgniter 

  官方网站:http://ellislab.com/codeigniter

  CodeIgniter中国:http://codeigniter.org.cn/

2、安装CodeIgniter 

CodeIgniter 安装分为四个步骤:

(1)解压缩安装包。
(2)把 CodeIgniter 文件夹和里面的文件上传到你的服务器。通常 index.php 在根目录。
(3)用任何文本编辑器打开 application/config/config.php 去设置你的网站根 URL。如果你打算使用加密或 Session,请设置你的加密密钥。
(4)如果你打算使用数据库,用任何文本编辑器打开 application/config/database.php 去设置你的数据库参数。

3、检测是否安装成功

(1)运行localhost/index.php

(2)运行成功的话看到如下:

  bubuko.com,布布扣

 

三、CodeIgniter 框架中的目录结构分析

  CodeInigter,一个轻量,功能全面的PHP框架,使开发者可以轻易的使用MVC的结构来开发web应用。下载一份CodeInigter(CodeIgniter V 2.2.0 (最新版本)),我们可以看到根目录下有5个文件夹/文件,其中user_guide文件夹里为说明文档,license.txt为许可协议,index.php为主入口文件,system文件夹为框架程序目录,applicant文件夹为项目目录。

|-----system                框架程序目录  
    |-----core              框架的核心程序  
        |-----CodeIgniter.php   引导性文件  
        |-----Common.php    加载基类库的公共函数  
        |-----Controller.php    基控制器类文件:CI_Controller  
        |-----Model.php     基模型类文件:CI_Model  
        |-----Config.php    配置类文件:CI_Config  
        |-----Input.php     输入类文件:CI_Input  
        |-----Output.php    输出类文件:CI_Output  
        |-----URL.php       URL类文件:CI_URl  
        |-----Router.php    路由类文件:CI_Router  
        |-----Loader.php    加载类文件:CI_Loader  
    |-----helpers           辅助函数  
        |-----url_helper.php    url相关的辅助函数,如:创建url的辅助函数  
        |-----captcha_helper.php创建图形验证码的辅助函数  
    |-----libraries         通用类库  
        |-----Pagination.php    通用分页类库  
        |-----Upload.php    通用文件上传类库  
        |-----Image_lib.php 通用图像处理类库  
        |-----Session.php   通用session类库  
    |-----language          语言包  
    |-----database          数据库操作相关的程序  
        |-----DB_active_rec.php 快捷操作类文件(ActiveRecord)  
    |-----fonts             字库  
      
|-----application           项目目录  
    |-----core              项目的核心程序  
    |-----helpers           项目的辅助函数  
    |-----libraries         通用类库  
    |-----language          语言包  
    |-----config            项目相关的配置  
        |-----config.php    项目相关的配置文件     
        |-----database.php  数据库相关的配置文件  
        |-----autoload.php  设置自动加载类库的配置文件  
        |-----constants.php 常量配置文件  
        |-----routes.php    路由配置文件  
    |-----controllers       控制器目录  
        |-----welcome.php   控制器文件,继承CI_Controller  
    |-----models            模型目录  
        |-----welcome_model.php 模型文件,继承CI_Model  
    |-----views             视图目录  
        |-----welcome.php   视图模板文件,默认后缀名为.php  
    |-----cache             存放数据或模板的缓存文件  
    |-----errors            错误提示模板  
    |-----hooks             钩子,在不修改系统核心文件的基础上扩展系统功能  
    |-----third_party       第三方库  
    |-----logs              日志  
  
|-----index.php             入口文件

 

四、CodeIgniter 框架是如何工作的

1、访问方式

  CodeIgniter 的访问URL使用的是pathinfo,入口文件/控制器/方法(/参数)

  eg:localhost/index.php/welcome/index/id

第一段表示调用控制器类。
第二段表示调用类中的函数或方法。
第三及更多的段表示的是传递给控制器的参数,如 ID 或其它各种变量。 

2、MVC设计模式

  CodeIgniter 是基于模型-视图-控制器(MVC)这一设计模式的。MVC 是一种将应用程序的逻辑层和表现层进行分离的方法。在实践中,由于表现层从 PHP 脚本中分离了出来,所以它允许你的网页中只包含很少的脚本。

  • 模型 (Model) 代表你的数据结构。通常来说,你的模型类将包含取出、插入、更新你的数据库资料这些功能。
  • 视图 (View) 是展示给用户的信息。一个视图通常是一个网页,但是在 CodeIgniter 中,一个视图也可以是一个页面片段,如页头、页尾。它还可以是一个 RSS 页面,或任何其它类型的“页面”。
  • 控制器 (Controller) 是模型、视图以及其他任何处理 HTTP 请求所必须的资源之间的中介,并生成网页。

  CodeIgniter 在 MVC 使用上非常宽松,因此模型不是必需的。如果你不需要使用这种分离方式,或是发觉维护模型比你想象中的复杂很多,你可以不用理会它们而创建自己的应用程序,并最少化使用控制器和视图。CodeIgniter 也可以和你现有的脚本合并使用,或者允许自行开发此系统的核心库,可以使你以最适合你的方式工作。

3、架构目标 

  CodeIgniter 的目标是在最小化、最轻量级的开发包中得到最大的执行效率、功能和灵活性为了达到这个目标,我们在开发过程的每一步都致力于基准测试、重构和简化工作,拒绝加入任何对实现目标没有帮助的东西。

  从技术和架构角度看,CodeIgniter 按照下列目标创建:

  • 动态实例化。在 CodeIgniter 中,组件的导入和函数的执行只有在被要求的时候才执行,而不是在全局范围。除了最小的核心资源外,不假设系统需要任何资源,因此缺省的系统非常轻量级。被 HTTP 请求所触发的事件,以及你设计的控制器和视图将决定它们什么时候被引用。
  • 松耦合。耦合是指一个系统的组件之间的相关程度。越少的组件相互依赖那么这个系统的重用性和灵活性就越好。我们的目标是一个非常松耦合的系统。
  • 组件专一性。专一是指组件有一个非常小的专注目标。在 CodeIgniter 里,为了达到最大的用途,每个类和它的功能都是高度自治的。

  总之,CodeIgniter 是一个动态实例化,高度组件专一性的松耦合系统。它在小巧的基础上力求做到简单、灵活和高性能。

 

五、CodeIgniter 框架中的控制器、视图、模型及数据库操作——见用户手册  ——后续学习

1、控制器——controller

   控制器是模型、视图以及其他任何处理 HTTP 请求所必须的资源之间的中介,并生成网页。

  一个控制器就是一个类文件,用户通过URL访问某个控制器类中的方法,并由这个方法中的代码去做某些操作。

  位置:项目文件夹\application\controllers

注:

  类名必须以大写字母开头,并继承(extends)核心控制器类CI_Controller

  默认访问方法为:index方法

  方法断后按序传入方法中的形式参数

2、视图——view

(1)控制器与试图的关系

  一个视图就是一个网页或者网页的一部分,如头部、尾部、侧边栏等。

  控制器——调用试图:控制器根据用户访问的不同方法去调用相关的视图($this->load->view(‘视图文件名‘))

  控制器——传送数据:控制器需向视图需要展示给用户的业务数据(数据以一个数组或者对象的形式传入视图)

(2)创建视图

  位置:项目文件夹\application\views

  找到文件  ——>  创建文件  ——>  写代码

  项目目录\views\     文件后缀.php       HTML代码 

3、模型——model

  模型就是一个数据库类,一个模型针对一张表,类中的方法针对功能的具体需求而做。

  位置:项目文件夹\application\models

  类名必须以大写字母开头,并继承(extends)数据核心类CI_Model,同时重载父类中的构造方法。

  在控制器中调用模型:$this->load->model(模型名);

            $this->模型名->方法名;  

4、数据库操作

注:操作数据库之前,记得修改config中的database.php文件

(1)连接数据库:$this->load->database();
    注:将其写在模型的构造函数里,这样就在加载模型的同时连接了数据库
(2)插入数据: $this->database->insert($t_name,$data);
              $t_name:需操作的表
              $data:需插入的数据(键名=字段名,键值=字段值,自增主键可不写)
(3)更新数据: $this->db->where(字段名,字段值);
              $this->db->update(表名,修改值的数组);
(4)查询数据: $this->db->where(字段名,字段值);
              $this->db->select(字段);
              $query=$this->db->get(表名);
              return $query->result();
(5)删除数据: $this->db->where(字段名,字段值);
              $this->db->delete(表名);

 

六、CodeIgniter 框架中辅助函数、类库、适配器的学习——见用户手册  ——后续学习

 

CodeIgniter框架——知识点汇总,布布扣,bubuko.com

CodeIgniter框架——知识点汇总

标签:style   blog   http   color   使用   os   io   strong   

原文地址:http://www.cnblogs.com/xymqx/p/3917584.html

(0)
(1)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!