CodeIgnite框架

健壮的结构远比精巧的设计来得重要。换句话说,结构是第一位的,功能是第二位的。 Eric Raymond《大教堂与集市》

在PHP开发中,选择合适的框架有助于加快软件开发,节约宝贵的项目时间,让开发者专注于功能的实现上。由于流行的框架经过了大量项目的检验,所以使用框架还有助于创建更加稳定和安全的应用程序。另外,使用框架还能提高开发人员编程的规范性,有助于团队成员的协作。

在PHP开发社区中,有着丰富的开发框架供开发人员选择。据Sitepoint网站的调查显示,最流行的PHP框架前五名为:Laravel、Phalcon、Symfony2、CodeIgnite和yii。

CodeIgnite框架介绍

CodeIgnite是一套给 PHP 网站开发者使用的应用程序开发框架和工具包。它提供一套丰富的标准库以及简单的接口和逻辑结构,其目的是使开发人员更快速地进行项目开发。使用 CodeIgniter可以减少代码的编写量,并将你的精力投入到项目的创造性开发上。[14]

CodeIgnite框架具有易学、轻量、扩展性强的优点,另外,CodeIgnite框架不但中文文档非常齐全,网络上还有不少高质量的视频教程, 这些因素都使得该框架的学习成本大大降低。

CodeIgnite框架使用MIT开源许可协议,用户可以免费使用该框架。

CodeIgnite的下载与安装

服务器要求

PHP 版本 5.2.4 或更新的版本,推荐5.4。支持的数据库为:MySQL (4.1+), MySQLi, MS SQL, Postgres, Oracle, SQLite 和 ODBC。

下载

可从官方中文站点下载最新版。截至目前,其最新版本为CodeIgniter V3.1.5。

或者,我们还可以从Github站点53下载。

安装

CodeIgniter 安装分为四个步骤:

  1. 解压缩安装包。
  2. 把 CodeIgniter 文件夹和里面的文件上传到你的服务器。如果是本地环境,直接解压到Web服务器的文档根目录,例如c:/wamp/www/58
  3. 用任何文本编辑器打开 application/config/config.php 去设置你的网站根 URL。
  4. 如果你打算使用数据库,用任何文本编辑器打开 application/config/database.php 去设置你的数据库参数。

需要注意的是,后两步并非必须,只在有需要的时候进行。如果一切正常,在浏览器地址栏中输入安装后的目录,如http://localhost/ci,就能看到CodeIgnite框架默认的欢迎页面。

目录结构

解压之后,CodeIgnite的目录中有以下子目录和文件,分别是application、system、user_guide和index.php。

application

实际应用目录。项目的所有源程序应该放在这个目录。Application目录默认情况下包含以下子目录:

  1. cache 存放缓存文件;
  2. config 包含网站基本配置的文件,如默认控制器、数据库连接信息等等;
  3. controllers MVC框架中的控制器都应存放于此;
  4. core 如果必要时,可对CodeIgnite核心代码的改写或扩充,这些扩展或复写的代码存放于此;
  5. errors 错误提示页面;
  6. helpers 自定义的辅助函数;
  7. hooks 存放为项目创建的“钩子”。钩子是用来装载其它文件的控制方法;
  8. language 存放不同语言的显示信息,如错误信息、验证信息可用不同语言来显示,默认为英语;
  9. libraries 类库文件,如果要对CodeIgnite类库进行扩展,则应放于此目录,默认为空;
  10. logs 日志文件存放目录;
  11. models MVC框架中的模型都应存放在此目录;
  12. third_party 第三方类库存放目录;
  13. views MVC框架中的视图

system

CodeIgnite 框架核心程序,不建议对其进行修改或扩展,以保证将来版本升级时的平滑性。

user_guide

CodeIgnite框架用户指南,只不过是英语版本,汉语版本请访问CodeIgnite中文站点

index.php

通过上图我们能看到,CodeIgnite框架的index.php实际上是整个框架的入口文件,该文件负责初始化运行CodeIgniter。

53. Github网站是一个社交化代码托管网站,目前拥有用户600多万,在该网站,你可以非常方便的和朋友、同事、同学甚至陌生人分享代码或者共同维护代码。
58. 先暂时删除application目录中的.htaccess文件,以保证application目录中文件的访问权限。

results matching ""

    No results matching ""