php – Codeigniter – 如何讓 System 交給 Composer 保管

前言

一般來說,最簡單方式是使用 “composer create-project codeigniter/framework” 來安裝,可以參考這一篇教你的一般安裝法。不過這裡要教的安裝方式,就是分離 system 目錄,可以達到

  1. 移植到主機不需移動 system,因為核心的部分統一交給 composer 管理,由 composer install 統一下載。
  2. GIT 在使用提交 git commit 指令的時候,無須加入 system 目錄。
  3. 釋出 Codeigniter 版本的時候,只要指定版本並下指令 composer update 就可以自動替換掉目錄 system,免除手動替換。
  4. 可以在任何CMS、框架或傳統 PHP 開發中使用 Codeigniter 功能(參考我)

這種安裝方式官方沒有教,不過在 CI 中的 index.php 都已經支援這樣的特性。

 

安裝步驟

 

使用 composer 下載

composer init
composer require codeigniter/framework 3.1.9

新增一個空白目錄後初始化 composer.json 並下載 codeigniter。注意!為了讓開發的系統穩定,我固定版本 3.1.9 ,請改成你想要的版本可以在這裡找到

因為 Codeigniter 升級有可能會需要小幅度的修改你的程式碼 (但大致上來說很少),明確指定可以避免執行 composer update 不小心升級造成的麻煩。

 

複製

將這兩個檔案複製到你的根目錄

  • vendor/codeigniter/framework/application/
  • vendor/codeigniter/framework/index.php

這時候打開瀏覽器,只會看到遺失訊息。這是因為預設的 system 資料夾指定位置找不到。

Your system folder path does not appear to be set correctly. Please open the following file and correct this: index.php

 

修改 index.php

$system_path = 'vendor/codeigniter/framework/system';

發現了嗎?我們把 system 指向到 vendor 中的 Codeigniter ,只要重新打開瀏覽器就可以看到 Hello World 。

 

如何升級/降級 Codeigniter?

直接修改 composer.json 中的版本,例如我把 3.1.9 降級為 3.1.8

"require": {
    "codeigniter/framework": "3.1.8"
}
composer update

這樣就完成替換囉,你可以試著 echo CI_VERION; 查看。

決定 Codeigniter 使用哪個版本核心,取決於 composer.json 的設定檔,但記得每次版本異動都要查看官方升級指南喔。

 

Comments

發表迴響