2016-07-18 67 views
3

我需要将我的网站codeigniter升级到V 3.6V 1.7.1,但我不知道在哪里可以找到version 1.7.2,因为它不在存储库中。升级Codeigniter 1.7.1到3.6

我用这个用户指南(http://www.codeigniter.com/user_guide/installation/upgrading.html)升级,但这是绝对必要做的所有步骤1.7.1 to 1.7.2, 1.7.2 to 2.0,...或者我可以直接执行从version 1.7.1last version 3.6

谢谢!

+1

你可以直接升级到你想要的任何版本,但是要记住,框架改变了它的核心功能,所以你需要处理一些会出现的错误。最有可能中断的是登录脚本,数据库连接。 – killstreet

+0

不,不,不,你不必通过每个版本升级。其实没有那么多的变化。基本上,你将要大写你的控制器和模型文件名,并进行搜索和替换以改变控制器和模型的调用方式。我所建议的实际工作 - 不只是阅读 - CI手册中的教程。然后把你的1.7.2应用程序的一部分升级到CI 3.这应该给你一个你需要做什么的好看法。但是它的主要目的是搜索/替换,所以使用一个好的代码编辑器。 – cartalot

回答

2

确实如cartalot所说,你不需要逐个升级每个版本。只需阅读所有instructions以在您的版本和目标版本之间进行升级,然后构建要做的事情列表,然后您就可以一次执行该列表。以下是从1.7.2升级到3.1.3时添加到列表中的一些内容。

  • 添加return parent::__get($prop);_GET魔术方法(如果有的话)。

  • $this->validation->error_string替换与validation_errors()

  • 在视图$this->validation->field_nameset_value(‘field_name’)set_select()等替换。并添加要使用的值预先填充的每个字段。但是请注意,如果您先不运行form_validation->run()set_value()不起作用。

  • 当检索数据:与$this->input->post(‘field_name’)

  • 更换$this->validation->field_name$this->form_validation->field_name当设定数据:与$this->form_validation->set_data($data);

  • 采取帐户set_data($other_data)覆盖的$_POST内容替换$this->form_validation->field_name,所以你需要合并$other_data$_POST

祝你好运,只是通过它的权力!