Composer釋出自己的外掛包

南丞發表於2018-06-29

Composer釋出自己的外掛包

要釋出自己的Composer 首先得整清楚composer.json檔案的內容,下面是composer.json 的介紹:

{
    "name": "nancheng/pfinal-array",      //包的名稱
    "description": "This is a PHP array manipulation middleware",   //包的功能描述
    "authors": [                                                    //作者資訊
        {
            "name": "南丞",
            "email": "Lampxiezi@163.com",
            "homepage": "http://friday-go.cc/"
        }
    ],
    "homepage":"https://github.com/Neroxiezi/pfinal-array",         //包的原始碼地址
    "license": "MIT",                                               //遵循的協議
    "keywords": [                                                   //包的關鍵字
        "pfinal",
        "南丞",
        "Q哥",
        "array",
        "php-array"
    ],

    "require": {                                                    //包的一些依賴
        "php": ">=5.4.0"
    },
    "autoload": {                                                   //自動載入
        "psr-4": {                                                  //自動使用的 psr-4 格式
            "pf\\arr\\": "src/"
        }
    },
    "autoload-dev": {
        "psr-4": {
            "example\\": "example"
        }
    }
}
複製程式碼

弄清楚composer.json 以後 我們接下來開始整自己的包.

包的目錄結構:

    pfinal-array
        |
        |-- src    包原始碼
        |    |-- build  功能程式碼 
        |    |-- PFarr.php	包的門面
        |
        |-- example  一些例項
        |
        |-- README.md   
        |
        |-- composer.json
複製程式碼

上面是我自己的包目錄結構。在我們新建包的時候,一開始是沒有composer.json這個檔案的。

在包中生成自己的composer.json

  1. 執行 composer init命令,,如下圖所示:

Composer釋出自己的外掛包

輸入你想要生成的包名,回車:nangcheng/pfinal-array。如下圖:

Composer釋出自己的外掛包

輸入你的包的描述(這裡可以用英文裝一個逼),回車:

Composer釋出自己的外掛包

這裡讓你輸入作者,我直接n 跳過,後期手工去填寫自己牛逼的簽名. 然後一路回車到這裡:

Composer釋出自己的外掛包

上面這兩條告訴你,有需要的依賴沒有,我沒有依賴所以就直接輸入 n 回車了。

然後接著回車,最後你發現你的資料夾中會生成一個composer.json 的檔案了。

開啟composer.json 內容如下:

  {
    "name": "nancheng/pfinal-array",
    "authors": [
        {
            "name": "LXZ",
            "email": "Lampxiezi@163.com"
        }
    ],
    "require": {}
  }
複製程式碼

修改composer.json 檔案

  1. authors 加入牛逼哄哄的 簽名
 "authors": [  
    {
        "name": "南丞",
        "email": "Lampxiezi@163.com",
        "homepage": "http://friday-go.cc/"
    }
],
複製程式碼
  1. 其他的如上面的composer.json 內容一樣。

  2. 主要在autoload 上:

"autoload": {                                                   //自動載入
    "psr-4": {                                                  //自動使用的 psr-4 格式
        "pf\\arr\\": "src/"
    }
}
複製程式碼

注意: 自動載入的時候 我們 用的是psr-4 至於什麼是psr-4 那各位大爺就自行了解吧。pf\arr\ 這個 是我原始碼中的名稱空間. src 是我原始碼的目錄,程式碼如下:

<?php
namespace pf\arr;
use pf\arr\build\Base;
class PFarr {
    protected $pf_array_link;
    protected function driver()
    {
        $this->pf_array_link = new Base();
        return $this;
    }
    public function __call($method, $params)
    {
        if (is_null($this->pf_array_link)) {
            $this->driver();
        }
        if (method_exists($this->pf_array_link, $method)) {
            return call_user_func_array([$this->pf_array_link, $method], $params);
        }
    }
    public static function single()
    {
        static $pf_array_link;
        if (is_null($pf_array_link)) {
            $pf_array_link = new static();
        }
        return $pf_array_link;
    }
    public static function __callStatic($name, $arguments)
    {
        return call_user_func_array([static::single(), $name], $arguments);
    }
}
複製程式碼

修改完以後, 執行 composer update 命令 Ok;


釋出

然後使用 git 把專案釋出到 github上,git怎麼用那就看 git基本操作

推送到github以後,上 composer包官網連結 ,使用github登入, 登入以後:

Composer釋出自己的外掛包

點選他會出來你釋出的包列表:

Composer釋出自己的外掛包

點選上圖中的show API Token 按鈕 生成 所對應的Token,然後複製Token.

第二步:

去github 網站你對用的專案中 操作如下圖所示:

Composer釋出自己的外掛包

在上圖的搜尋框中搜尋 Packagist 然後點選編輯如下圖所示:

Composer釋出自己的外掛包

token 填寫你上面複製的Token

第三步:

如下圖所示:

Composer釋出自己的外掛包

Composer釋出自己的外掛包

點選submit(Check的使用會檢查是否已經純在這個目錄了,如果存在的話,需要重新改一下composer.json檔案中的name配置)


OK 到此 Composer包釋出完畢

順便放上我的包地址: nancheng/pfinal-array

相關文章