首頁  >  文章  >  開發工具  >  怎麼手寫composer包並上傳發布

怎麼手寫composer包並上傳發布

藏色散人
藏色散人轉載
2021-07-19 14:32:521878瀏覽

一、關於composer

Composer 是 PHP5.3以上 的一個依賴管理工具。它允許你聲明專案所依賴的程式碼庫,它會在你的專案中為你安裝他們。有了它我們就可以輕鬆的使用一個命令將其他優秀程式碼引用到我們的專案中來。

二、依賴套件管理工具

java有maven,前端有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包並上傳發布

##六、手寫一個composer套件

在網站下方新建一個目錄,名稱為
    blog
  • 1、目錄下執行:
  • composer init

#執行完後,讓我們輸入一個套件名,我就叫guangtouqiang/blog把。

怎麼手寫composer包並上傳發布套件名稱
name

套件的名稱,它包括供應商名稱和項目名稱,使用 / 分隔。

對於需要發布的套件(庫),這是必須填寫的。
  • 例如,phpmailer/phpmailer
2、執行

guangtouqiang/blog

#接下來讓輸入描述。 怎麼手寫composer包並上傳發布
描述description

一個套件的簡短描述。通常這個最長只有一行。 怎麼手寫composer包並上傳發布

對於需要發布的套件(庫),這是必須填寫的。

3、輸入描述
    this is guangtouqiang test bag
  • 4、
  • 輸入作者名稱(可選)

#作者

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包並上傳發布
同样,需要新建一个srcguangtouqiang的文件夹:
怎麼手寫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教學欄位!

以上是怎麼手寫composer包並上傳發布的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:learnku.com。如有侵權,請聯絡admin@php.cn刪除