下载
可在官网下载,我使用的是CodeIgniter-3.1.7。
目录
打开程序目录,可看到目录结构。
我这里做一点小的修改,新建了一个 index 目录,将 index.php 和一些静态文件放入这个目录里。这样做的主要目的是只将入口文件 index.php 暴露在网站根目录下,而将程序的网站业务文件目录 application 和系统文件目录 system 等其他的文件放在网站根目录外,避免用户可以直接访问到。
application —— 网站业务文件目录。里面包含有缓存(cache)目录,配置文件(config)目录,控制器(controllers)目录,模型(models)目录, 视图(views)目录,日志文件(logs)目录等。
index——网站根目录。里面包含网站唯一入口文件index.php,以及一些css文件,js文件,图片等静态和公共可访问资源。
system——框架系统文件目录。里面有框架运行的核心文件 core ,各种包装好的可供使用的工具类 libraries,语言文件 language,字体文件 fonts 等。
user_guide——用户使用说明书。
.editorconfig—— 统一代码风格文件。该文件用来定义项目的编码规范,编辑器的行为会与.editorconfig 文件中定义的一致,并且其优先级比编辑器自身的设置要高,这在多人合作开发项目时十分有用而且必要。有些编辑器支持,有些不支持。
indent_style 设置缩进风格(tab是硬缩进,space为软缩进)
indent_size 用一个整数定义的列数来设置缩进的宽度,如果indent_style为tab,则此属性默认为tab_width
tab_width 用一个整数来设置tab缩进的列数。默认是indent_size
end_of_line 设置换行符,值为lf、cr和crlf
charset 设置编码,值为latin1、utf-8、utf-8-bom、utf-16be和utf-16le,不建议使用utf-8-bom
trim_trailing_whitespace 设为true表示会去除换行行首的任意空白字符。
insert_final_newline 设为true表示使文件以一个空白行结尾
root 表示是最顶层的配置文件,发现设为true时,才会停止查找.editorconfig文件
.gitignore——git操作忽略的文件夹和文件。
composer.json——CI框架的composer配置文件。Composer 是 PHP 的一个依赖管理工具。它允许你申明项目所依赖的代码库,它会在你的项目中为你安装他们。意味着你可以通过composer来安装CI框架以及加载扩展。
contributing.md——告诉你CI是一个开源的框架,你如何参与这个项目,贡献代码。
license.txt——MIT许可证协议。较为宽松,允许你修改代码,也可以用于商业用途。
readme.rst——CI的一个自我介绍,也告诉你使用安装时的注意事项。
安装
按照安装说明进行安装。值得说明的是,因为我改变了index.php的默认位置。所以需要在index.php中设置 application 和 system 文件夹的绝对路径。还有,为了使得url地址得到美化(不带.php)。我在nginx配置对应的server模块中加入如下配置:
location / {
try_files $uri $uri/ /index.php?$query_string;
}
这句话是什么意思呢?
$uri 这个是nginx的一个变量,存放着用户访问的地址,比如:http://www.xxx.com/index.html, 那么$uri就是 /index.html
$uri/ 代表访问的是一个目录,比如:http://www.xxx.com/hello/test/ ,那么$uri/就是 /hello/test/
$query_string代表的是请求行中参数字符串.比如:http://www.xxx.com/hello/test/index.php?a=3,那么$query_string就是a=3。
完整的解释就是:try_files 去尝试到网站目录读取用户访问的文件,如果第一个变量存在,就直接返回;不存在继续读取第二个变量,如果存在,直接返回;不存在直接跳转到index.php上去,并且附带参数字符串。
原先在没有nginx的改写配置前,我们需要通过这样的方式访问http://www.example.com/index.php/welcome/index。现在我们可以http://www.example.com/welcome/index这样访问URL了。
参考文档: