CI框架文件结构
1
system 框架程序目录
2
|-----core 框架的核心程序
3
| |-----CodeIgniter.php 引导性文件
4
| |-----Common.php 加载基类库的公共函数
5
| |-----Controller.php 基控制器类文件:CI_Controller
6
| |-----Model.php 基模型类文件:CI_Model
7
| |-----Config.php 配置类文件:CI_Config
8
| |-----Input.php 输入类文件:CI_Input
9
| |-----Output.php 输出类文件:CI_Output
10
| |-----URL.php URL类文件:CI_URl
11
| |-----Router.php 路由类文件:CI_Router
12
| |-----Loader.php 加载类文件:CI_Loader
13
|-----helpers 辅助函数
14
| |-----url_helper.php url相关的辅助函数,如:创建url的辅助函数
15
| |-----captcha_helper.php创建图形验证码的辅助函数
16
|-----libraries 通用类库
17
| |-----Pagination.php 通用分页类库
18
| |-----Upload.php 通用文件上传类库
19
| |-----Image_lib.php 通用图像处理类库
20
| |-----Session.php 通用session类库
21
|-----language 语言包
22
|-----database 数据库操作相关的程序
23
| |-----DB_active_rec.php 快捷操作类文件(ActiveRecord)
24
|-----fonts 字库
25
26
application 项目目录
27
|-----core 项目的核心程序
28
|-----helpers 项目的辅助函数
29
|-----libraries 通用类库
30
|-----language 语言包
31
|-----config 项目相关的配置
32
| |-----config.php 项目相关的配置文件
33
| |-----database.php 数据库相关的配置文件
34
| |-----autoload.php 设置自动加载类库的配置文件
35
| |-----constants.php 常量配置文件
36
| |-----routes.php 路由配置文件
37
|-----controllers 控制器目录
38
| |-----welcome.php 控制器文件,继承CI_Controller
39
|-----models 模型目录
40
| |-----welcome_model.php 模型文件,继承CI_Model
41
|-----views 视图目录
42
| |-----welcome.php 视图模板文件,默认后缀名为.php
43
|-----cache 存放数据或模板的缓存文件
44
|-----errors 错误提示模板
45
|-----hooks 钩子,在不修改系统核心文件的基础上扩展系统功能
46
|-----third_party 第三方库
47
|-----logs 日志
48
49
|index.php 入口文件
安装步骤
2)【application/config/config.php】设置 【$config['base_url']】 变量为网站根目录url;
如果是本地测试,使用‘localhost://website root url’,如:"localhost://iogames/";
3)【application/config/database.php】修改数据库连接信息;
安全上一般会把【application】【system】文件夹移出网站根目录,只保留【index.php】,同时为了保持【views】的公开,可以将【views】移回网站根目录;
1
2
|---website root
3
| |----index.php
4
| |----views
5
|
6
|---system
7
|---application
8
之后要更新【index.php】文件的 【$system_path】【application_folder】【$views_folder】变量;
MVC基本操作
CodeIgnitor是MVC分离的,这些mvc操作主要集中在【application】目录下;
【controller】储存控制器类,是路由的访问规则对象,是views和model之间的连接件;
【views】储存、渲染视图;
【model】储存模型,主要负责对数据库的操作;
【config/route.php】负责对controller路由访问规则的设置;
访问站点方法
CI中站点的访问是通过controller控制器类的方法来实现路由的,访问路由规则的设置在【config/route.php】中;
通常路由格式
1
http://localhost/iogames/index.php/pages/showPage/3
访问根目录下的 iogames 项目目录中的 pages 控制器,调用其showPage方法,参数是3;
修改路由后缀
url中添加特定的后缀,例如.html后缀使你的应用程序更类似于一系列静态文件。
配置方法是,在【application/config/config.php】中,更改如下配置为:
1
$config['url_suffix'] = '.html';
Apache环境下
在网站根目录下创建一个.htaccess文件,编写以下否定条件:
1
RewriteEngine On
2
RewriteCond %{REQUEST_FILENAME} !-f
3
RewriteCond %{REQUEST_FILENAME} !-d
4
RewriteRule ^(.*)$ index.php
Nginx环境下
更改配置文件,在server段添加以下字段后重启web服务,
1
location /{
2
try_files $uri $uri/ /index.php?$uri&$args;
3
}
1location /{
2if (-f $request_filename) {
3expires max;
4break;
5}
6if (!-e $request_filename) {
7rewrite ^/(.*)$ /index.php/$1 last;
8}
9}
部署站点500异常
部署站点之后,出现500异常,可以暂时将 index.php 中的 Environment 常量修改为 development,开启调试模式,查看输出的异常报告,再分析问题;
一般可能出现的情况:服务器php版本过低,CI支持php的最低版本为5.3;