CodeIgniter是自己使用的第一个PHP框架,高效、简洁、文档完善、社区活跃,非常值得学习。虽然目前已经全面投入到Laravel的怀抱了,老情人还是不能忘。并且业余做的几个站都是使用的CodeIgniter,还是有必要升级一下的。CodeIgniter 3已经出来一段时间了,最开始没有中文文档,也就没有去了解,现在中文文档完善了,今天试着升级下看看。此贴记录升级过程。
升级前版本2.2.1,最新版本3.0.2。
主要参考文档:http://codeigniter.org.cn/user_guide/installation/upgrade_300.html
1、替换文件
- system
- index.php
- application/view/errors (新增的)
- application/config (具体修改还不清楚,目前看到的,数据库配置文件不一样了,路由配置文件新增了一行。替换,重新配置)
2、文件命名变化 原版本不区分大小写,现在要求首字母大写,例如控制器文件、模型文件等。 3、Session类的使用 CodeIgniter的Session一直被诟病不安全,CodeIgniter 3解决了这个问题。虽然Session修改比较大,但是保留了向之前版本的兼容,基本不用修改语法。不过还是建议使用官方推荐的新的写法。具体内容可参考文档: 另外,config中与Session相关的配置也有所改动。文档中有详细说明。我在升级的时候这一块花了点时间,最后发现是sess_save_path没有设置导致的。默认设置是NULL,此时会读取php.ini中的相关设置。为了应对复杂多样的环境,建议修改此配置选项。 - $config['sess_save_path' = APPPATH . 'cache';
文档中建议设置为绝对路径,考虑到实际情况,例如本地是Windows系统,服务器是Linux系统,我使用了这样的相对路径,测试结果是可行的。官方建议的路径是application文件夹下,并保证可写。我直接使用了cache目录。另外使用数据的方式很是很不错的。
4、查询字符串 如果你需要使用查询字符串的模式,你需要将config中的enable_query_strings设置为TRUE。 5、缓存 如果你使用了查询字符串模式,并且想要使用缓存,需要将config中的cache_query_string设置为TRUE,否则所以的页面都将缓存一样的内容。 6、其他 还有一些类库或者帮助函数都或多或少的做了一些修改,需要仔细查看升级文档。例如表单验证类、分页类都是很常用的,需要您注意。 经过半天的折腾,总算完成了升级。想想还有点小激动呢。不过我怎么感觉比以前的变慢了呢?错觉?
欢迎交流学习。
|