- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
CodeIgniter框架剖析
CodeIgniter框架
一、CI简单介绍
如果...
你不喜欢复杂,热爱简单。
你想要一个小巧的框架。
你需要广泛兼容标准主机上的各种 PHP 版本和配置。
你想要一个几乎只需 0 配置的框架。
你不希望被迫学习一门模板语言(虽然可以选择你喜欢的模板解析器)。
那么 CodeIgniter 就是你所需要的
CodeIgniter 是一个小巧但功能强大的 PHP 框架
CI的特点:
简单
免费
MVC(关键)
一、CI简单介绍
2013年最棒的4个PHP框架
二、下载并安装CI
下载地址: /downloads
最新版本是2.1.4
安装步骤:
解压缩安装包。
把 CodeIgniter 文件夹和里面的文件上传到你的服务器。
用任何文本编辑器打开 application/config/config.php 去设置你的网站根 URL。
如果你打算使用数据库,打开 application/config/database.php 文件,设置你的数据库参数。
三、网站结构及业务流程
安装 CI 文件后,我们来看一下目录结构
分析各文件的功能
三、网站结构及业务流程
应用程序流程图
Question:默认首页是如何显示出来的?
四、控制器
控制器是应用程序的心脏,因为它们决定如何处理 HTTP 请求。
简而言之,一个控制器就是一个类文件,是以一种能够和 URI 关联在一起的方式来命名的。
假设这个 URI: /index.php/blog/
CodeIgniter 将尝试寻找并装载一个名为 blog.php 的控制器。
编写自己的控制器
命名规范
确保你的控制器扩展(继承)自父控制器类,以便它能够继承其所有的方法
URI 的第二部分是用来决定调用控制器中哪个方法的,如果为空,则默认载入 “index” 方法。
五、URL模式
默认情况下,CodeIgniter 中的 URL 使用基于段的方法:
/class/function/ID
第一段表示调用控制器类。
第二段表示调用类中的函数或方法。
第三及更多的段表示的是传递给控制器的参数,如 ID 或其它各种变量。
启用查询字符串
在一些情况下你需要在 URL 中使用查询字符串:
index.php?c=productsm=viewid=345
CodeIgniter 支持这个功能是可选的,可以在 application/config/config.php 文件中进行设置,只需将将 enable_query_strings 更改为 TRUE 即可。
六、视图
视图就是一个网页,或是网页的一部分,如头部,底部,侧栏等。视图既可以是php文件,也可以是html文件,有时候也叫模板页面。
在控制器中载入视图 $this-load-view(视图文件, $data ); 其中$data是要传入视图的动态数据。
模板语法,CI采用原生的模板语法,也就是直接在页面中使用php标签处理动态数据。
载入多个视图,在控制器中使用多个load-view 即可,如果每个视图都传递动态数据,只需在第一个视图传入数据。
七、模型
模型是专门用来和数据库打交道的PHP类。
模型类文件存放在 application/models/ 文件夹。
定义模型
继承基本模型类CI_Model
定义相应的方法
载入模型
手动载入,在控制器中载入模型,$this-load-model(模型名)
自动载入,在config/autoload.php中配置
八、数据库操作
1. 数据库配置
application/config/database.php
2. 连接数据库
手动连接:$this-load-database()
自动连接:在autoload.php中设定两种
3. 数据库操作
数据库连接之后,使用$this-db-query(sql语句)来执行查询
$query = $this-db-query(sql语句)
八、数据库操作
返回结果集
result()
result_array()
row()
row_array()
成功返回true
失败返回false
读操作辅助函数:$query-num_rows(),$query-num_fields(), $query-free_result()
写操作辅助函数:$this-db-insert_id(),$this-db-affected_rows()
其它辅助函数:$this-db-count_all(‘表名’), $this-db-last_query(),$this-db-insert_string(), $this-db-update_string()
八、数据库操作-Active Record类
A
文档评论(0)