發(fā)布一個(gè)自己的composer擴(kuò)展

第一步新建文件夾

mkdir httptool 
cd httptool

初始化composer

composer init

                                            
Welcome to the Composer config generator  
                                            

# 交互引導(dǎo)初始化
This command will guide you through creating your composer.json config.

# 填寫包名,最好填寫github名/包名
Package name (<vendor>/<name>) [afishpapa/httptool]: afishpapa/httptool

# 包描述
Description []: a simple httptool

# 作者
Author [laoxie <116265858@qq.com>, n to skip]: 
laoxie <116265858@qq.com>



# 最低穩(wěn)定性, 是指你可以接受的最低穩(wěn)定性級別
# dev級別最低,表示你的項(xiàng)目可以安裝全部穩(wěn)定性級別的擴(kuò)展
# stable級別最高,表示只能安裝stable的擴(kuò)展
# 級別從低到高排序:dev,alpha,beta,RC,stable,^,~
Minimum Stability []: stable

# 包類型,庫,項(xiàng)目,還是composer插件,metapackage是一組依賴包的集合,安裝這種包就等于安裝一組包
Package Type (e.g. library, project, metapackage, composer-plugin) []: project

# 開源協(xié)議
License []: MIT

# 定義依賴,這里沒有
Define your dependencies.

Would you like to define your dependencies (require) interactively [yes]? no

# 定義開發(fā)依賴,這里沒有
Would you like to define your dev dependencies (require-dev) interactively [yes]? no

# 添加PSR-4 映射 默認(rèn) src/
Add PSR-4 autoload mapping? Maps namespace "Afishpapa\Httptool" to the entered relative path. [src/, n to skip]: src/

# 至此結(jié)束,最終在根目錄生成以下文件: 
PS D:\workspace\composertest\httptool> ls
Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
d-----          2023/4/7     22:10                .idea
d-----          2023/4/7     22:02                src
d-----          2023/4/7     22:02                vendor
-a----          2023/4/7     22:02            388 composer.json

# 其中composer.json
{
    "name": "afishpapa/httptool",
    "description": "simple httptool",
    "type": "project",
    "license": "MIT",
    "autoload": {
        "psr-4": {
            "Afishpapa\\Httptool\\": "src/"
        }
    },
    "authors": [
        {
            "name": "laoxie",
            "email": "116265858@qq.com"
        }
    ],
    "minimum-stability": "stable",
    "require": {}
}

Do you confirm generation [yes]? yes
Generating autoload files
Generated autoload files
PSR-4 autoloading configured. Use "namespace Afishpapa\Httptool;" in src/
Include the Composer autoloader with: require 'vendor/autoload.php';

添加內(nèi)容

PS D:\workspace\composertest\httptool> ls      
Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
d-----          2023/4/7     22:25                .idea
d-----          2023/4/7     22:26                example  //demo代碼,介紹你這個(gè)包怎么調(diào)用
d-----          2023/4/7     22:25                src      //核心科技
d-----          2023/4/7     22:26                test     //測試單例
d-----          2023/4/7     22:02                vendor   
-a----          2023/4/7     22:13            378 composer.json
-a----          2023/4/7     22:13                README.md  //讀我

github新建一個(gè)空倉庫,上傳剛建的擴(kuò)展包

image.png
echo "# httptool" >> README.md
git init
git add README.md
git add .
git commit -m "first commit"
git branch -M main
git remote add origin
# 這里填寫你自己的
git@github.com:afishpapa/httptool.git
git push -u origin main

注冊packagist.org賬號

可以通過oauth2.0使用GITHUB賬號登錄packagist.org
點(diǎn)擊submit,輸入github的鏈接

image.png

check通過之后就可以了,網(wǎng)站會(huì)去自動(dòng)去下載代碼,
如果以后包有改動(dòng)需要再來這里點(diǎn)擊update


image.png

composer create-project試試看看

PS  composer create-project afishpapa/httptool
Creating a "afishpapa/httptool" project at "./httptool"

In CreateProjectCommand.php line 424:
                                                                    
  Could not find package afishpapa/httptool with stability stable.  

這個(gè)時(shí)候還不行,因?yàn)間ithub還沒有發(fā)布穩(wěn)定版本

github release

先去打個(gè)tag

PS D:\workspace\composertest\httptool> git tag 1.0.0

PS D:\workspace\composertest\httptool> git push --tags
Total 0 (delta 0), reused 0 (delta 0), pack-reused 0
To github.com:afishpapa/httptool.git
 * [new tag]         1.0.0 -> 1.0.0
image.png

image.png

image.png

打好包的

composer create-project 再試試看

PS > composer create-project afishpapa/httptool test1
Creating a "afishpapa/httptool" project at "./test1"
Info from https://repo.packagist.org: #StandWithUkraine
Installing afishpapa/httptool (1.0.0)
  - Downloading afishpapa/httptool (1.0.0)
  - Installing afishpapa/httptool (1.0.0): Extracting archive
Created project in D:\workspace\composertest\httptool\test1
Loading composer repositories with package information
Updating dependencies
Nothing to modify in lock file
Writing lock file
Installing dependencies from lock file (including require-dev)
Nothing to install, update or remove
Generating autoload files
No installed packages - skipping audit.

得,nice

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末脯颜,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子诉儒,更是在濱河造成了極大的恐慌危喉,老刑警劉巖贷洲,帶你破解...
    沈念sama閱讀 212,686評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件座泳,死亡現(xiàn)場離奇詭異诞仓,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)赁温,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,668評論 3 385
  • 文/潘曉璐 我一進(jìn)店門坛怪,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人股囊,你說我怎么就攤上這事袜匿。” “怎么了稚疹?”我有些...
    開封第一講書人閱讀 158,160評論 0 348
  • 文/不壞的土叔 我叫張陵居灯,是天一觀的道長。 經(jīng)常有香客問我内狗,道長怪嫌,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,736評論 1 284
  • 正文 為了忘掉前任其屏,我火速辦了婚禮喇勋,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘偎行。我一直安慰自己,他們只是感情好贰拿,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,847評論 6 386
  • 文/花漫 我一把揭開白布蛤袒。 她就那樣靜靜地躺著,像睡著了一般膨更。 火紅的嫁衣襯著肌膚如雪妙真。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 50,043評論 1 291
  • 那天荚守,我揣著相機(jī)與錄音珍德,去河邊找鬼练般。 笑死,一個(gè)胖子當(dāng)著我的面吹牛锈候,可吹牛的內(nèi)容都是我干的薄料。 我是一名探鬼主播,決...
    沈念sama閱讀 39,129評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼泵琳,長吁一口氣:“原來是場噩夢啊……” “哼摄职!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起获列,我...
    開封第一講書人閱讀 37,872評論 0 268
  • 序言:老撾萬榮一對情侶失蹤谷市,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后击孩,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體迫悠,經(jīng)...
    沈念sama閱讀 44,318評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,645評論 2 327
  • 正文 我和宋清朗相戀三年巩梢,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了创泄。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,777評論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡且改,死狀恐怖验烧,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情又跛,我是刑警寧澤碍拆,帶...
    沈念sama閱讀 34,470評論 4 333
  • 正文 年R本政府宣布,位于F島的核電站慨蓝,受9級特大地震影響感混,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜礼烈,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,126評論 3 317
  • 文/蒙蒙 一弧满、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦撇寞、人聲如沸懈贺。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,861評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至阴汇,卻和暖如春数冬,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背搀庶。 一陣腳步聲響...
    開封第一講書人閱讀 32,095評論 1 267
  • 我被黑心中介騙來泰國打工拐纱, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留铜异,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,589評論 2 362
  • 正文 我出身青樓秸架,卻偏偏與公主長得像揍庄,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子咕宿,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,687評論 2 351

推薦閱讀更多精彩內(nèi)容