CodeIgnitor安装
从 CodeIgnitor 官方网站下载 CI 的安装包,解压后进行简单配置即可使用。关于 IDE(集成环境),我使用的是:zend studio.你也可以使用其他的IDE或者代码编辑器。在你是用的环境中创建一个名为WWW的PHP项目,你也可以以其他的名字命名,为了测试我创建的是:CodeIgniter.将CI解压后的文件放在这个目录下.例如:
默认情况下,index.php 是所有 CI 程序的入口。这意味着,所有的 URL 都将包含 index.php。我们需要设置.htaccess 文件将 index.php 从 URL 中移除。打开.htaccess 文件并添加以下四行代码,保存并退出。
注意我用的是CodeIgniter3.0.2版本,目前最新版,在解压完后,没有htaccess文件,这里我们要手动给它创建一个,创建好后,在htaccess文件中输入一下代码:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php/$1 [L]
直接复制即可。
RewriteEngine on 用于打开 Apache 的 URL 重写
RewriteCond %{REQUEST_FILENAME} !-f 代表如果请求的文件存在,则直接访问该文件;如果文件不存在,则进行至下一步
RewriteCond %{REQUEST_FILENAME} !-d 代表如果目录存在则直接访问目录;如果目录不存在,则进行至下一步
RewriteRule ^(.*) /index.php/ 1 [L] 如果所请求的路径不是存在的文件也不是存在的目录,则在路径前追加/index.php/
这样,我们在访问任何 CI 的 URL 时,就不需要指定任何 php 路径了。因为 index.php 是所有 CI 程序的入口。
至此 CI 已经准备就绪了,是时候讨论一下我们的企业网站了。企业网站的业务需求
ABC 公司的网站主要向客户展示 ABC 公司的三个主营业务:解决方案、服务和产品。ABC 公司同样希望能够在网站为客户提供支持。ABC 的客户来自全球,所以 ABC 公司希望网站能够支持多种语言。
在看到这个需求后,网站架构师决定先从英文版本开始构建。其他语言版本将复用英文版本的设计。
按照业务的需求,网站被分为五个栏目,他们及他们对应的 URL 分别是
Home - http://abc.com/en
Solutions - http://abc.com/en/solutions
Services - http:// abc.com/en/services
Products - http:// abc.com/en/products
Support - http:// abc.com/en/support
定义路由
当 CI 接收到一个用户请求的 URL 时,首先去路由表中查询该 URL 对应的控制器。我们首先为 Home 定义一个路由。路由文件的位置是 config/routes.php。打开路由定义,添加如下代码:
$route['en'] = 'en/home';
接下来我们将开始编写 Home 控制器。
控制器与视图 - 入门
在 controllers 目录下,创建目录 en,在 en 目录下创建 home.php,这将是我们的第一个控制器。在 home.php 中添加如下代码:
清单 1.controllelrs/en/home.php
<?php
class Home extends CI_Controller {
//Home 控制器的构造函数
public function __construct() {
parent::__construct();
}
//Home 控制器的默认入口 index()方法
public function index() {
//加载 views 目录下的/en/header.php 视图
$this->load->view('/en/header');
//加载 views 目录下的/en/home.php 视图
$this->load->view('/en/home');
//加载 views 目录下的/en/footer.php 视图
$this->load->view('/en/footer');
}
}
在 views 目录下创建目录 en,在目录 en 下分别创建 header.php、home.php、footer.php。代码如下:
清单 2.views/en/header.php
<H1>这里是头部文件</H1>
清单 3.views/en/home.php
<H2>这里是身体部分</H2>
清单 4.views/en/footer.php
<H3>这里是底部文件</H3>
我们为 Home 控制器创建了三个视图。header 视图及 footer 视图还将被用于其他控制器。而 home 视图将仅被 Home 控制器调用。
如果您已经配置好 PHP 并已启动 Web 服务,您可以在浏览器输入 http://localhost/en 查看效果
参考资料:
http://www.ibm.com/developerworks/cn/web/1508_lizhi_phpci/