Composer 是 PHP 領域最流行的依賴管理工具,它使得管理項目依賴變得輕鬆簡單。然而,除了使用現有的包,我們也可以創建和發佈屬於自己的 Composer 包。
在這篇文章中,我將帶你一步一步完成從零開始創建併發佈一個自己的 Composer 包的流程。
創建項目
在你的工作目錄下創建一個新的文件夾作為你的包:
mkdir project
cd project
初始化 Composer
在項目目錄中運行以下命令以生成 composer.json 文件:
composer init
確保您已經安裝了 Composer,如果尚未安裝,可以通過 Composer 的 官方網站 獲取詳細的安裝説明。
composer init 執行後會需要填寫一些內容,皆指幫助您生成 composer.json 文件,所以不需要過於在意,後期也可以直接修改 composer.json 文件,大概內容如下:
| 問題 | 説明 | 建議 |
|---|---|---|
| Package name (vendor/package) | composer包名 | 個人&組織名稱/包名 |
| Description | 對你的包做一個簡短的描述 | 控制在一兩句話以內 |
| Author | 作者 | 名稱 <郵箱地址> |
| Minimum Stability | 項目的最小穩定性 | beta、alpha 或 dev,但大部分項目推薦 stable |
| License | 項目使用什麼許可證 | MIT、GPL 等。如果不確定,可以選擇 MIT,因為它簡單且寬鬆 |
| Define your dependencies | 是否希望手動定義項目的依賴項 | 如果你知道自己要安裝的依賴庫,可以選擇 yes,然後輸入依賴包的名稱和版本號。如果暫時不確定,可以選擇 no,之後可以隨時通過 composer require 添加依賴 |
| Would you like to define your dev dependencies (require-dev) interactively | 是否希望定義開發依賴 | 僅在開發過程中使用的依賴項,比如測試工具(如 PHPUnit)。如果你需要測試或調試工具,可以在此處添加 |
| Add PSR-4 autoload mapping? Maps namespace to subdirectory | 是否希望定義自動加載的 PSR-4 映射 | 你可以設置自己的命名空間和對應的文件夾 |
| Summary of settings | 會列出你填寫的信息摘要供你確認。檢查所有信息是否正確,並確認生成 composer.json 文件 | yes |
提交到 GitHub 或其他版本控制系統
將你的項目提交到 GitHub 或其他版本控制系統。確保你的 composer.json 文件在根目錄下。
發佈到 Packagist
- 在 Packagist 上註冊一個帳户。
- 登錄後,點擊右上角的 “Submit” 按鈕後提交自己的 Git 鏈接即可發佈
後續建議
發佈版本
為什麼要在GitHub上發佈版本?
為了管理每次更新的內容,建議在 GitHub 中發佈版本,這樣做有以下幾種好處
- 可追溯性:每個版本都可以追蹤到特定的提交,方便用户查看變更。
- 文檔:可以為每個版本添加發布説明,告知用户新版本的功能和修復。
- 整合:與 Composer 的版本管理系統無縫集成,方便用户在 Composer 中安裝特定版本。
如何在GitHub上發佈版本?
創建一個標籤:
## 在終端中導航到你的項目目錄,並確保在你想要發佈的版本上
git checkout main
## 創建一個 Git 標籤,命名為你的版本號(例如 v1.0.0)
git tag v1.0.0
## 將標籤推送到 GitHub
git push origin v1.0.0
在 GitHub 上創建發行版:
- 登錄到你的 GitHub 倉庫。
- 點擊“Releases”選項卡。
- 點擊“Draft a new release”按鈕。
- 選擇剛剛創建的標籤(例如 v1.0.0)。
- 填寫發行説明,簡要描述該版本的新功能、修復或變更。
- 點擊“Publish release”按鈕。
維護版本
每次更新你的代碼並希望發佈新版本時,重複以上步驟創建新的標籤和發行版。
你可以使用語義版本控制(如 MAJOR.MINOR.PATCH)來管理版本號。