2016-07-18 72 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

祝你好運,只是通過它的權力!