怎么手寫composer包并上傳發布

一、關于composer

composerphp5.3以上 的一個依賴管理工具。它允許你聲明項目所依賴的代碼庫,它會在你的項目中為你安裝他們。有了它我們就可以輕松的使用一個命令將其他優秀代碼引用到我們的項目中來。

二、依賴包管理工具

Javamaven,前端有npm,安卓有gradle,作為世界上最好的語言也就有了composer

三、composer的優勢

  • 你有一個項目依賴于若干個庫。
  • 其中一些庫依賴于其他庫。
  • 你聲明你所依賴的東西。
  • Composer 會找出哪個版本的包需要安裝,并安裝它們(將它們下載到你的項目中)。

四、composer常用命令

  • composer require安裝一個軟件包
    怎么手寫composer包并上傳發布
  • composer update:會檢測新版本包需要的環境和依賴自動實現工具包的升級
    怎么手寫composer包并上傳發布
  • composer install:如果沒有composer.json文件,會安裝composer.json中的依賴
    怎么手寫composer包并上傳發布
  • composer init:會初始化一個composer.json配置文件
    怎么手寫composer包并上傳發布

    五、composer的安裝

    參照菜鳥教程

六、手寫一個composer包

在站點下新建一個目錄,名為blog。

1、目錄下執行:composer init

怎么手寫composer包并上傳發布
執行完后,讓我們輸入一個包名,我就叫guangtouqiang/blog把。

包名name

  • 包的名稱,它包括供應商名稱和項目名稱,使用 / 分隔。
  • 對于需要發布的包(庫),這是必須填寫的。
  • 例如,phpmailer/phpmailer

2、執行guangtouqiang/blog:

怎么手寫composer包并上傳發布
接下來讓輸入描述。

描述description

  • 一個包的簡短描述。通常這個最長只有一行。
  • 對于需要發布的包(庫),這是必須填寫的。

3、輸入描述this is guangtouqiang test bag

怎么手寫composer包并上傳發布
4、輸入作者名稱(可選)

怎么手寫composer包并上傳發布

作者authors

  • 這個對象必須包含以下的所有屬性。
  • name: 作者的姓名,通常使用真名。
  • email: 作者的 email 地址。
  • homepage: 作者主頁的 URL 地址。
  • role: 該作者在此項目中擔任的角色(例:開發人員 或 翻譯)。

5、輸入最低穩定版本

可用的穩定性標識:dev、alpha、beta、RC、stable。,一般選擇dev。

6、輸入包類型

包類型type

  • 包的安裝類型,默認為library。
  • library: 這是默認類型,它會簡單的將文件復制到 vendor 目錄。
  • project: 這表示當前包是一個項目,而不是一個庫。例:框架應用程序 symfony standard edition,內容管理系統 SilverStripe installer 或者完全成熟的分布式應用程序。使用 ide 創建一個新的工作區時,這可以為其提供項目列表的初始化。
  • metapackage: 當一個空的包,包含依賴并且需要觸發依賴的安裝,這將不會對系統寫入額外的文件。因此這種安裝類型并不需要一個 dist 或 source。
  • composer-plugin: 一個安裝類型為 composer-plugin 的包,它有一個自定義安裝類型,可以為其它包提供一個 installler。詳細請查看 自定義安裝類型。

默認為 library

我們選擇1,library即可!

怎么手寫composer包并上傳發布
7、需要輸入開源協議

選擇輸入GPL,LGPL,BSD,MIT,apache這些開源協議即可:
怎么手寫composer包并上傳發布
8、是否依賴于其它包,是否依賴于其它環境,這邊都yes即可。

Search for a package:選擇搜索php。

怎么手寫composer包并上傳發布
9、生成成功。
怎么手寫composer包并上傳發布
此時,目錄下已經有個composer這些配置:
怎么手寫composer包并上傳發布

七、composer目錄的修改

看下剛剛生成的composer.json:

{     "name": "guangtouqiang/blog",     "description": "this is guangtouqiang test bag",     "type": "1",     "require": {         "php": "^7.0"     },     "license": "Apache-2.0",     "authors": [         {             "name": "guangtouqiang",             "email": "xiaozhengguo521@gmail.com"         }     ],     "minimum-stability": "dev"}

再次基礎上增加:

{     "name": "guangtouqiang/blog",     "description": "this is guangtouqiang test bag",     "type": "1",     "require": {         "php": "^7.0"     },     "license": "Apache-2.0",     "authors": [         {             "name": "guangtouqiang",             "email": "xiaozhengguo521@gmail.com"         }     ],     "minimum-stability": "dev",     "autoload": {         "psr-4": {             "guangtouqiang": "src/guangtouqiang"         }     }}

命令行執行:composer dump-autoload,更新composer的命名空間與文件夾映射關系。

怎么手寫composer包并上傳發布
同樣,需要新建一個src和guangtouqiang的文件夾:
怎么手寫composer包并上傳發布
在根目錄新建個index.php測試一波:
怎么手寫composer包并上傳發布
輸出:
怎么手寫composer包并上傳發布

注意命名空間的層級與文件夾層級是否相同,類名與文件名相同才能自動加載。

八、將寫好的composer包上傳

1、github上新建個倉庫
怎么手寫composer包并上傳發布
2、將本地的composer包上傳到新倉庫

  • git init
  • git add .
  • git commit -m “xxx”
  • git remote add origin 你的遠程倉庫地址
  • git push -u origin master

怎么手寫composer包并上傳發布
3、登錄https://packagist.org/packages/submit
怎么手寫composer包并上傳發布
4、將你github上的倉庫地址復制進去:

怎么手寫composer包并上傳發布
5、配置webhook:
怎么手寫composer包并上傳發布
怎么手寫composer包并上傳發布

6、復制上圖地址到github。

添加webhook:
怎么手寫composer包并上傳發布
怎么手寫composer包并上傳發布

這時候,github倉庫與packagist已經建立了關聯。但是還需要進行發布正式版本才能使用。

7、打版本標簽

git tag -a v1.0.1 -m “第一版”
git push origin v1.0.1

此時,已經標簽成功了,從packagist能看到我們所有的版本。

怎么手寫composer包并上傳發布

執行composer require xx/xxx就能供別人使用啦。

九、總結

怎么手寫composer包并上傳發布
關于composer.json詳細描述請參照:composer.json詳細使用

更多composer相關技術文章,請訪問composer教程欄目!

以上就是怎么手寫

? 版權聲明
THE END
喜歡就支持一下吧
點贊14 分享