用户
 找回密码
 入住 CI 中国社区
搜索
查看: 2123|回复: 1
收起左侧

[版本 3.x] CodeIgniter 3.0.2升级过程记录

[复制链接]
发表于 2015-11-27 14:57:00 | 显示全部楼层 |阅读模式
       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、其他
  还有一些类库或者帮助函数都或多或少的做了一些修改,需要仔细查看升级文档。例如表单验证类、分页类都是很常用的,需要您注意。
  经过半天的折腾,总算完成了升级。想想还有点小激动呢。不过我怎么感觉比以前的变慢了呢?错觉?


      欢迎交流学习。

发表于 2015-11-27 17:24:01 | 显示全部楼层
不错,顶起来。。。。

本版积分规则