CI版本 3.0.0
PHP版本 5.6.3
Mysql版本 5.6.21
参考文档:http://www.codeigniter.com/user_guide/
http://codeigniter.org.cn/user_guide/toc.html
项目目录分析:
application --------------------------项目主目录
config: --------------------------系统配置目录
autoload.php ------------------需要系统启动时自动加载的类, 例如数据库连接, session启动
config.php --------------------系统配置, 可以自己在这里定义一些配置, 例如邮箱配置 用config_item(key);
constants.php------------------常量定义的文件;
database.php ------------------数据库配置, 可以配置多个数据库源, 用法可以参考controllers/Migration.php
routes.php --------------------默认路由.
controllers -----------------------MVC中的C , controller负责逻辑控制.命名需要按规则
... --------------------------项目所有的controller
core ------------------------------项目核心,
MY_controller.php -------------父controller, 上面所有controller都继承这个, 所以一些公共方法可以放在这里, 例如登陆检测, 提示生成.
helpers ---------------------------帮助函数库目录, 命名需要按规则 在controller或model可以用$this->load->helper();使用
... ---------------------------扩展框架自带的函数库需要加前缀MY_, 自定义则用xxx_helper.php.
libraries -------------------------系统类库, 命名需要按规则, 在controller或model可以使用$this->load->library();使用
... ---------------------------扩展框架自带的类库需要加前缀MY_, 自定义则用xxx.php.
models ----------------------------MVC中的M, model 负责数据处理, 数据查询, 数据插入.
... ---------------------------项目所有model.
views -----------------------------MVC中的V, view 负责视图的渲染逻辑.
public --------------------------------项目的所有允许外部访问的资源文件, css, js ,image.
system --------------------------------框架的核心, 不建议,不推荐,最好不要修改.
helpers ---------------------------框架内部帮助函数库
libraries -------------------------框架内部类库
index.php -----------------------------项目入口文件 (单入口)
去除URL的index.php (URL优化, .htaccess)
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
数据库连接, session 自动加载
/application/config/autoload.php
$autoload['libraries'] = array('database', 'session');