動態

詳情 返回 返回

從零開始創建屬於自己的 Composer 庫 - 動態 詳情

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)來管理版本號。

user avatar ciel717 頭像 mingtiaoiv 頭像 feichangkudechongfengyi 頭像 litao_2071 頭像 renxingdebenma 頭像 chen_christins 頭像 tangzhiyuan 頭像 anjingdexiaoyanyao_ciaxxr 頭像 8848_62c77d4bb2532 頭像
點贊 9 用戶, 點贊了這篇動態!
點贊

Add a new 評論

Some HTML is okay.