CI框架结构&配置

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             入口文件  



安装步骤

1)下载CI框架后,安装CI框架到项目,只需复制【application】【system】【index.php】【license.txt】文件到网站项目根目录
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】中;
通常路由格式
http://example.com/[controller-class]/[controller-method]/[arguments]
实例
1
http://localhost/iogames/index.php/pages/showPage/3
访问根目录下的 iogames 项目目录中的 pages 控制器,调用其showPage方法,参数是3;

修改路由后缀
url中添加特定的后缀,例如.html后缀使你的应用程序更类似于一系列静态文件。
配置方法是,在【application/config/config.php】中,更改如下配置为:
1
$config['url_suffix'] = '.html';

移除URL中的index.php
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
}
    
    
1
location /{
2
   if (-f $request_filename) {
3
       expires max;
4
       break;
5
   }
6
   if (!-e $request_filename) {
7
       rewrite ^/(.*)$ /index.php/$1 last;
8
   }
9
}


部署站点500异常
部署站点之后,出现500异常,可以暂时将 index.php 中的 Environment 常量修改为 development,开启调试模式,查看输出的异常报告,再分析问题;
一般可能出现的情况:服务器php版本过低,CI支持php的最低版本为5.3;




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值