首頁 開發工具 composer 教你發布自己的composer包(步驟詳解)

教你發布自己的composer包(步驟詳解)

Apr 04, 2023 pm 03:17 PM
composer

本篇文章给大家带来了关于composer的相关知识,其中主要跟大家聊一聊,怎么发布自己的composer包,步骤很详细哦~感兴趣的朋友下面一起来看一下吧,希望对大家有帮助。

准备

  1. Github账号
  2. packagist账号
  3. 安装好git
  4. 安装好composer

步骤

创建并拉取一个仓库

Github右上角+号,点 New repository。创建完成后使用git拉取到本地。

composer初始化

自动创建

使用composer init命令进行初始化

composer init
登入後複製
λ composer init


  Welcome to the Composer config generator    欢迎来到Composer配置生成器



This command will guide you through creating your composer.json config. 这个命令将指导您创建编写器。json配置。

Package name (<vendor>/<name>) [z/lattice-php]:    // 你的包名,不可以重复
Description []: // 你的描述
Author [Chenilove <2665468087@qq.com>, n to skip]: // 作者
Minimum Stability []: // 版本稳定性 例如 dev stable 等
Package Type (e.g. library, project, metapackage, composer-plugin) []: // 包类型
License []: MIT // 协议

Define your dependencies.

Would you like to define your dependencies (require) interactively [yes]? 你想交互式地定义你的依赖关系吗
Search for a package:
Would you like to define your dev dependencies (require-dev) interactively [yes]? 您想交互式地定义您的开发依赖项(require-dev)吗
Search for a package:
Add PSR-4 autoload mapping? Maps namespace "Z\LatticePhp" to the entered relative path. [src/, n to skip]: 添加PSR-4自动加载映射?将命名空间“Z\LatticePhp”映射到输入的相对路径。

{
    "name": "z/lattice-php",
    "license": "MIT",
    "autoload": {
        "psr-4": {
            "Z\\LatticePhp\\": "src/"
        }
    },
    "authors": [
        {
            "name": "Chenilove",
            "email": "2665468087@qq.com"
        }
    ],
    "require": {}
}

Do you confirm generation [yes]? 确定生成吗?
Generating autoload files
Generated autoload files
PSR-4 autoloading configured. Use "namespace Z\LatticePhp;" in src/
Include the Composer autoloader with: require &#39;vendor/autoload.php&#39;;
登入後複製

手动创建

本质上composer init命令是在根目录创建一个composer.json,我们完全可以自己手动创建

{
    "name": "zmxy/lattice",
    "description": "PHP生成点阵图组件.教程:https://github.com/Chenilove/LatticePHP",
    "license": "MIT",
    "autoload": {
        "psr-4": {
            "Lattice\\": "src/"
        }
    },
    "authors": [
        {
            "name": "Chenilove",
            "email": "2665468087@qq.com"
        }
    ],
    "minimum-stability": "stable",
    "require": {
        "php": ">=7.1.0"
    }
}
登入後複製

autoload自动加载

autoload这个选项很重要,这里规定了命名空间。假设你想再加一个命名空间,你可以这样做

"autoload": {
        "psr-4": {
            "Lattice\\": "src/"                  解释: "命名空间\\": "包的相对路径",
        }
    },
登入後複製

每次修改得使用命令刷新

composer dump-autoload
登入後複製

创建代码

这里对应上面的autoload->psr-4里面的配置,先创建一个src目录,然后在里面写你的代码。

namespace Lattice;

/**
 * Class Lattice
 */
class Lattice
{
    public function index()
    {
        echo "嘿嘿嘿";
    }
}
登入後複製

提交代码到Github

使用git提交代码到Github仓库

提交到packagist

  1. 先复制Github仓库地址(例如:github.com/Chenilove/LatticePHP.gi...)
  2. 打开packagist,点击右上角的Submit
  3. 将仓库地址填入Repository URL,然后点击Check
  4. 最后回到Github,Release一个版本,packagist就能自动更新
  5. 到此已经成功发布了一个composer包,每次Release一个版本时,packagist都会自动更新。

推荐学习:《composer使用教程

以上是教你發布自己的composer包(步驟詳解)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.聊天命令以及如何使用它們
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

作曲家是用什麼? 作曲家是用什麼? Apr 06, 2025 am 12:02 AM

Composer是PHP的依賴管理工具。使用Composer的核心步驟包括:1)在composer.json中聲明依賴,如"stripe/stripe-php":"^7.0";2)運行composerinstall下載並配置依賴;3)通過composer.lock和autoload.php管理版本和自動加載。 Composer簡化了依賴管理,提升了項目效率和可維護性。

作曲家和編排者有什麼區別? 作曲家和編排者有什麼區別? Apr 02, 2025 pm 02:49 PM

Composer用於管理PHP項目的依賴,而Orchestrator用於管理和協調微服務或容器化的應用。 1.Composer通過composer.json文件聲明並管理PHP項目的依賴。 2.Orchestrator通過配置文件(如Kubernetes的YAML文件)管理服務的部署和擴展,確保高可用性和負載均衡。

如何調試自定義Composer包安裝路徑? 如何調試自定義Composer包安裝路徑? Apr 01, 2025 am 08:36 AM

自定義Composer包安裝目錄及調試方法在使用Composer管理依賴時,默認情況下,包會被安裝到vendor目錄下。如果需�...

ThinkPHP連接阿里雲MQTT報錯app\\controller\\Mosquitto\\Client:如何解決? ThinkPHP連接阿里雲MQTT報錯app\\controller\\Mosquitto\\Client:如何解決? Apr 01, 2025 am 08:24 AM

ThinkPHP中使用Mosquitto報錯:app\\controller\\Mosquitto\\Client在使用ThinkPHP框架連接阿里雲MQTT服務時,開發者遇到一個錯...

生產環境部署:如何避免Composer加載開發依賴? 生產環境部署:如何避免Composer加載開發依賴? Apr 01, 2025 am 07:36 AM

高效管理Composer依賴:生產環境如何避免加載開發依賴在使用Composer管理PHP項目依賴時,我們經常會將開發過程�...

官方ai創意工具有哪些 官方ai創意工具有哪些 Nov 29, 2024 am 10:19 AM

官方AI創意工具透過機器學習和先進技術,提供創意探索、內容生成和優化功能,增強創意流程並提高生產力。主要工具包括 ChatGPT、Google AI 影像/影片產生器、AWS DeepComposer 和 Azure Cognitive Services。這些工具可協助使用者打破創意障礙、產生高品質內容、優化創意輸出,促進團隊合作,提升創意力和效率。

自動載入和命名空間在 Composer 中如何運作? 自動載入和命名空間在 Composer 中如何運作? Jun 04, 2024 pm 09:03 PM

自動載入和命名空間在Composer中的運作方式:自動載入:Composer利用自動載入特性,在需要時自動載入類,省去了手動呼叫的繁瑣。命名空間:命名空間可組織程式碼,避免相同類別名稱衝突。 Composer透過PSR-4標準支援命名空間,指定命名空間和目錄之間的對應。實戰案例:使用第三方函式庫時,在composer.json中配置require和autoload部分,指定庫名稱和映射規則。這使我們可以直接使用庫中的類,無需手動加載文件。

PHP 偵錯 Composer 依賴:解決相依性問題 PHP 偵錯 Composer 依賴:解決相依性問題 Jun 06, 2024 pm 12:18 PM

調試Composer依賴關係問題解決依賴關係問題的方法:檢查composer.lock檔案使用composershow-root-requires強制刷新依賴關係設定調試模式實際案例:包衝突:使用composershow-root-requires發現衝突,並手動升級不相容的包。缺少依賴關係:新增缺少的依賴到composer.json並重新安裝。過時的依賴關係:使用composerupdate更新過時的套件。

See all articles