W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
請閱讀你需要升級的版本所對應(yīng)的升級指南
CodeIgniter 4是對該框架的重寫,并且不向前兼容(對以前的版本不兼容)。 比起升級你的應(yīng)用,更為合適的是轉(zhuǎn)換和重寫它。當(dāng)你做完了這一步(即已經(jīng)升級到CodeIgniter4)之后,在CodeIgniter4的不同版本間進行升級就會輕而易舉。
The “l(fā)ean, mean and simple” philosophy has been retained, but the implementation has a lot of differences, compared to CodeIgniter 3.
升級過程中并沒有12步檢查列表之類的東西。取而代之的是,在一個新的項目文件夾里開始CodeIgniter 4的重新部署 開始與使用本框架 , 并開始轉(zhuǎn)換和整合你的應(yīng)用部件。下面我們會試著指出最需要注意的點。
CI4中我們并沒有完全遷移和重寫全部的CI3庫!參考 CodeIgniter 4 路線圖 中的最新列表!
在項目轉(zhuǎn)換之前 請務(wù)必閱讀用戶指南 !
下載
命名空間
應(yīng)用結(jié)構(gòu)
application
目錄被重命名為 app
,而框架中仍舊存在著 system
文件夾,有著與以往版本一樣的功能。public
目錄,希望你可以將其用于項目的根目錄writable
folder, to hold cache data, logs, and session dataapp
目錄與CI3中的 application
目錄類似,不過有著一些命名的變更,以及將一些子目錄移動到 writable
目錄下。application/core
目錄了,由于我們已經(jīng)提供了一套不同的機制來擴展框架核心(如下所示)。加載類文件
Services
進行維護(服務(wù))App``(application目錄)和 ``CodeIgniter
system目錄) 為頂級命名空間的類。而通過對composer自動加載的支持與智能假設(shè)機制,框架甚至可以定位你的那些并未命名空間聲明的模型和庫文件。控制器
\\CodeIgniter\\Controller
類,而非 CI_Controller
類Request
(請求)and Response
(響應(yīng))對象供你使用,比起CI3的風(fēng)格來說更為強大BaseController extends Controller
,并使用你自己的類來繼承 BaseController
模型
\\CodeIgniter\\Model
而非 CI_Model
Entity
(實體)類,用于實現(xiàn)更為豐富的數(shù)據(jù)表映射功能$this->load->model(x);
,而是使用模型的命名空間模式來調(diào)用 $this->x = new X();
。視圖
$this->load->view(x);
,而是通過 echo view(x);
。庫
app/Libraries
,但這不是必須的。$this->load->library(x);
調(diào)用方式,如今你可以使用組件的命名空間模式來調(diào)用 $this->x = new X();
輔助函數(shù)
事件
$hook['post_controller_constructor']
調(diào)用方式,如今你可以使用命名空間 CodeIgniter\Events\Events;
下的 Events::on('post_controller_constructor', ['MyClass', 'MyFunction']);
。擴展框架
core
目錄來保存類似 MY_...
的框架組件擴展或替代品。MY_x
之類的類來繼承或取代CI4的框架部分。Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: