本篇文章給大家?guī)砹岁P于composer的相關知識,其中主要跟大家聊一聊,怎么發(fā)布自己的composer包,步驟很詳細哦~感興趣的朋友下面一起來看一下吧,希望對大家有幫助。
準備
步驟
創(chuàng)建并拉取一個倉庫
Github右上角+號,點 New repository。創(chuàng)建完成后使用git拉取到本地。
composer初始化
自動創(chuàng)建
使用composer init命令進行初始化
composer init
λ?composer?init ??Welcome?to?the?Composer?config?generator????歡迎來到Composer配置生成器 This?command?will?guide?you?through?creating?your?composer.json?config.?這個命令將指導您創(chuàng)建編寫器。json配置。 Package?name?(<vendor>/<name>)?[z/lattice-php]:????//?你的包名,不可以重復 Description?[]:?//?你的描述 Author?[Chenilove?,?n?to?skip]:?//?作者 Minimum?Stability?[]:?//?版本穩(wěn)定性?例如?dev?stable?等 Package?Type?(e.g.?library,?project,?metapackage,?composer-plugin)?[]:?//?包類型 License?[]:?MIT?//?協(xié)議 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]??您想交互式地定義您的開發(fā)依賴項(require-dev)嗎 Search?for?a?package: Add?PSR-4?autoload?mapping??Maps?namespace?"ZLatticePhp"?to?the?entered?relative?path.?[src/,?n?to?skip]:?添加PSR-4自動加載映射?將命名空間“ZLatticePhp”映射到輸入的相對路徑。 { ????"name":?"z/lattice-php", ????"license":?"MIT", ????"autoload":?{ ????????"psr-4":?{ ????????????"ZLatticePhp":?"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?ZLatticePhp;"?in?src/ Include?the?Composer?autoloader?with:?require?'vendor/autoload.php';</name></vendor>
手動創(chuàng)建
本質上composer init命令是在根目錄創(chuàng)建一個composer.json,我們完全可以自己手動創(chuàng)建
{ ????"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這個選項很重要,這里規(guī)定了命名空間。假設你想再加一個命名空間,你可以這樣做
"autoload":?{ ????????"psr-4":?{ ????????????"Lattice":?"src/"??????????????????解釋:?"命名空間":?"包的相對路徑", ????????} ????},
每次修改得使用命令刷新
composer dump-autoload
創(chuàng)建代碼
這里對應上面的autoload->psr-4里面的配置,先創(chuàng)建一個src目錄,然后在里面寫你的代碼。
namespace?Lattice; /** ?*?Class?Lattice ?*/ class?Lattice { ????public?function?index() ????{ ????????echo?"嘿嘿嘿"; ????} }
提交代碼到Github
使用git提交代碼到Github倉庫
提交到packagist
- 先復制Github倉庫地址(例如:Github賬號)
- 打開Github賬號,點擊右上角的Submit
- 將倉庫地址填入Repository URL,然后點擊Check
- 最后回到Github,Release一個版本,packagist就能自動更新
-
到此已經(jīng)成功發(fā)布了一個composer包,每次Release一個版本時,packagist都會自動更新。
推薦學習:《Github賬號》
? 版權聲明
文章版權歸作者所有,未經(jīng)允許請勿轉載。
THE END