代码改变世界

codeigniter介绍及安装

2013-06-04 10:54  youxin  阅读(643)  评论(0编辑  收藏  举报

 首先说一下这个名字,非常有意思,igniter意思是点火器,引爆装置。前面加个code,比喻编码被这个框架给引爆了。名字起得非常不错。官网地址:http://ellislab.com/codeigniter

中文官网:http://codeigniter.org.cn/

首先下载代码,我下载的版本是CodeIgniter_2.1.3。

CodeIgniter 安装分为四个步骤:

  1. 解压缩安装包。
  2. 把 CodeIgniter 文件夹和里面的文件上传到你的服务器。通常 index.php 在根目录
  3. 用任何文本编辑器打开 application/config/config.php 去设置你的网站根 URL。如果你打算使用加密或 Session,请设置你的加密密钥。(我的是$config['base_url']= 'http://localhost/php/codeigniter/CodeIgniter_2.1.3/'; CodeIgniter_2.1.3就是我工作的文件夹了,里面有一个默认的index.php文件。)
  4. 如果你打算使用数据库,用任何文本编辑器打开 application/config/database.php 去设置你的数据库参数。

如果你希望通过隐藏 CodeIgniter 文件的位置来增加安全性,你可以修改 system 和 application 目录的名字,把它改成任何你想改的。如果已经修改了名字,你必须打开 你主目录下面的index.php 文件设置里面的 $system_path 和 $application_folder 变量,把它设成你新改的名字。

为了安全考虑,systemapplication两个文件夹应放到网站根目录(Web Root)以外的地方,这样浏览器就不能够直接访问它们。在默认设置下, 在每个文件夹中都有一 个.htaccess配置文件以拒绝直接访问, 但是当把代码部署到生产环境时最好移除他们,因为生产环境的web服务可能会改变或不支持.htaccess的配置.

如果你移动了以上两个文件夹,请打开主目录下的index.php文件并编辑$system_path$application_folder两个变量, 最好使用绝对路径进行替 换, 例如:'/www/MyUser/system'.

另外有一个附加的考虑就是,如果要在生产环境中使用,最好关闭PHP的错误报告以及其他任何与开发时有关的功能, 在CodeIgniter中,可以设置 ENVIRONMENT 常量来实现这个功能。详细的文档请参阅 安全 章节。

以上就是全部安装过程!

如果你刚刚接触 CodeIgniter,请阅读用户指南的开始部分,开始学习如何构造动态的 PHP 应用。让我们享受这个过程吧!

如果下载CodeIgniter之后,对于其中的英文注释看不明白,推荐您到CodeIgniter中国社区学习一下,很多朋友都从那里学到了许多知 识,相信您会得到的更多!转自:http://codeigniter.org.cn/user_guide/installation/index.html

CodeIgniter特性:

CodeIgniter 生成干净的 URL

CodeIgniter 生成的 URL 非常干净而且是对搜索引擎友好化的。不同于标准的“字符串查询”方法,CodeIgniter使用了 基于段 的方法:

example.com/news/article/345

注意:index.php 文件是被默认包含在 URL 中的,但是可以通过更改 .htaccess 文件来改变这个设置。

CodeIgniter 不需要模板引擎

虽然 CodeIgniter 确实 自带了一个可选的模板解析器程序,但不要求你必须使用模板。模板引擎完全与本地化PHP代码的性能需求不符,使用模板引擎我们要学习其语法,这最低限度只比学PHP基础要容易一点点。考虑以下PHP代码:

<ul>

<?php foreach ($addressbook as $name):?>

<li><?=$name?></li>

<?php endforeach; ?>

</ul>

再来对比模板引擎所使用的伪代码:

<ul>

{foreach from=$addressbook item="name"}

<li>{$name}</li>

{/foreach}

</ul>

的确,例中模板引擎的代码比较清晰,但这带来一个性能问题,因为伪代码要先被转换成PHP才能运行。我们的目标是性能最大化, 所以我们选择不使用专用的模板引擎。

CodeIgniter 速记表

类库参考:http://codeigniter.org.cn/user_guide/images/codeigniter_1.7.1_library_reference.pdf

辅助函数参考:http://codeigniter.org.cn/user_guide/images/codeigniter_1.7.1_helper_reference.png

应用程序流程图

下图说明数据流如何贯穿整个系统

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

模型-视图-控制器

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

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

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