现在的位置: 首页 > 综合 > 正文

CodeIgniter 入门:快速简单地创建 MVC 应用程序

2013年06月18日 ⁄ 综合 ⁄ 共 2564字 ⁄ 字号 评论关闭

创建 CodeIgniter 应用程序要比您想像中的容易。我将引导您创建第一个项目:一个带有联系人表单的简单 Web
页面。

如果您是一位 PHP 开发人员,在使用 PHP 编程语言时不难发现:大型项目可能会变得复杂。

这并非 PHP 的缺点。是的,这种语言提供了丰富的特性,而且具有足够理想的弹性,可区分程序员之间的工作成果。在这种意义上,PHP 类似于
Perl,这是一些人喜欢它(而其他人鄙视它)的原因之一。任何曾经查看过遗留 PHP 项目的有经验的 PHP
开发人员都可以轻松判断出不同开发人员在项目不同阶段的工作 — 就像您是一位考古学家,正在凝视着深深的墓穴,见证着不同文化在各自时代的发展。

不管涉及了什么样式或使用了什么方法,超过几千行代码的 PHP
项目很容易在仓促之中变得凌乱不堪。这主要是因为它们在结构上不一致。一些程序员创建类来组织其工作,但似乎没有任何两个程序员对于如何编写类具有相同的看法。其他程序员构建大量充满函数的包含文件。还有其他人使用巨大、独立的库,比如
PEAR。

MVC 框架如何提供帮助

在几年前,PHP 一直缺乏一个良好的、功能完善的模型-视图-控制器(Model-View-Controller,MVC)框架。MVC
框架允许程序员将其代码组织为三个不同的功能区:

  • 模型 包含与您的数据库和其他数据结构相关的所有代码。如果您具有一个名为 pages
    的表,则您具有一个模型,其中具有用于从表中选择、创建、更新和删除记录的函数。
  • 视图 包含所有显示和 UI 元素 — JavaScript 代码、Cascading Style Sheets (CSS)、HTML 甚至
    PHP。
  • 控制器 将一切联系在一起。控制器中的每个函数表示一个目的地或路线。如果您具有一个名为 /about 的目的地,则控制器将具有一个名为
    about() 的函数。

如果以前没有使用过 MVC 框架,上述三点无法体现出这种组织模式的强大之处。一旦您开始用 MVC 思考,您对 PHP
开发的观点和态度将发生显著变化。

例如,不是在项目的每个可用角落中都塞入数据库查询代码,而是将一切都组织到模型中。为了从数据库表中选择页面,可以使用页面模型中的函数。

同样地,如果您需要更新特定页面的外观,可以使用视图,而不用与控制器打交道。与此类似,控制器是为您的应用程序添加目标和其他控制代码的位置;不必在模型中放入任何此类东西。

无论使用哪种 MVC 框架,在一天之内,您就会意识到您具有一个容易记住、可按需扩展的系统。如果客户在下周需要更改,没问题 —
您可以搞定。如果第二年有什么请求,同样如此。

约定优于配置 MVC

在所有 MVC 框架中,最著名的莫过于 Ruby on Rails。多年以前,它席卷 Web 开发领域,满足了所有人的想像。它并非纯粹的 MVC
框架,而是一种约定优于配置的 MVC 框架。

约定优于配置 意味着使用 Rails
时,您需要设置一些关键配置项(例如数据库的位置、特定用户名和路径),其他配置均由智能默认设置处理,您可在随后修改,也可不加修改。

结果不仅仅能得到组织良好的代码,而且还有速度极快、易于使用的 Web 开发环境。这都是 PHP 世界的梦想。经过一两年之后,许多类似于 Rails
的工具纷纷出现:CakePHP、Symfony 等等。

了解 CodeIgniter

最终,EllisLab 的工作人员发布了 CodeIgniter。许多企业尝试体验过所有 PHP MVC 框架之后,CodeIgniter
都成为赢家,主要是由于它为组织提供了足够的自由支持,允许开发人员更迅速地工作。

自由意味着使用 CodeIgniter 时,您不必以某种方式命名数据库表,也不必根据表命名模型。这使 CodeIgniter 成为重构遗留 PHP
应用程序的理想选择,在此类遗留应用程序中,可能存在需要移植的所有奇怪的结构。

CodeIgniter 不需要大量代码(1.6.2 版本仅为 2.8 MB,其中的 1.3 MB 是可以删除的用户文档),也不会要求您插入类似于 PEAR
的庞大的库。它在 PHP 4 和 PHP 5 中表现同样良好,允许您创建可移植的应用程序。最后,您不必使用模板引擎来创建视图 — 只需沿用旧式的 HTML 和
PHP 即可。

至此,我们已经提供了足够的介绍,下面来构建一个简单的项目,看看它的效果。

安装和配置 CodeIgniter

在构建任何 CodeIgniter 新项目时,第一步都是下载最新软件包(在本文撰写时,最新软件包是 1.6.2,请参见 参考资料 小节)。下载压缩存档文件(.zip)并解压缩之后,您就获得了一个
codeigniter_<version_number> 文件夹,其中包括开始创建所必须的一切内容。

在进行一组必需的轻微的配置更改之前,本节将为您简单介绍 CodeIgniter,使您熟悉它的基础知识。

文件夹结构

打开 CodeIgniter 文件夹时,您会看到一个名为 system 的文件夹。所有 CodeIgniter
代码都将存放在这里。在此文件夹内还有一些文件夹,其中有一个名为 application:您要处理的 99.999%
的文件都将位于此文件夹内。该文件夹的命名十分贴切,因为它包含您的应用程序及其所有组成部分 — system 文件夹的其他部分包括 CodeIgniter
核心代码和其他不应混淆的文件。

application 文件夹下又分为多个文件夹(参见
1
)。大多数文件夹易于理解。模型存放在 models 文件夹中、视图存放在 views 文件夹中、控制器存放在 controllers
文件夹中,依此类推。还有一些文件夹用于存储 CodeIgniter 帮助程序和库的本地扩展,这些内容不在本文讨论范围之内。

图 1. CodeIgniter 的文件夹结构
 CodeIgniter 的文件夹结构

就目前而言,system/application 文件夹中最重要的文件夹就是 config。该文件夹内有两个需要关注的文件:config.php 和
database.php。

config.php 文件包含设置 CodeIgniter 所需的基本参数和自变量。database.php
文件包含连接数据库所需的基本参数和自变量。

就目前而言,对于 config.php 文件,您只需设置 base_url 参数,例如设置为
http://127.0.0.1/CodeIgniter/。根据您正在使用的服务器地址更改此设置:

本文转自IBM Developerworks中国

      请点击此处查看全文

 

抱歉!评论已关闭.