如何釋出一個 Composer 包
文章目錄
流程
參考: https://packagist.org/about#how-to-update-packages
Composer 說明
說明
- 包名在 composer.json 確定
- 版本號由倉庫的釋出版本確定, 必須釋出第一個版本才能進行下載
- 建議使用
PSR-4
目錄結構
├── CHANGES.md
├── LICENSE
├── README.md
├── .gitignore
├── composer.json
├── sample
└── src
CHANGES.md
更新說明
1.0.0 / 2020-11-20
----------
- 新增生成 token
- 新增閘道器請求
LICENSE
開源協議, 替換公司名稱
MIT License
Copyright (c) 2020 XXXXXX
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
README.md
圖示: https://poser.pugx.org/
- Installation
- Usage
- Example usage
composer 通用說明
### 安裝
推薦使用 Composer 安裝 dhccam-sdk,Composer 是 PHP 的依賴管理工具,允許您宣告專案所需的依賴,然後自動將它們安裝到您的專案中。
> 您可以在 [Composer 官網](https://getcomposer.org/) 上找到更多關於如何安裝 Composer,配置自動載入以及用於定義依賴項的其他最佳實踐等相關資訊。
#### 安裝步驟:
1. 開啟終端。
2. 下載 Composer,執行以下命令。
```
curl -sS https://getcomposer.org/installer | php
```
3. 建立一個名為`composer.json`的檔案,內容如下。
```json
{
"require": {
"xxxxxxxx/xxxx": "1.*"
}
}
```
4. 使用 Composer 安裝,執行以下命令。
```
php composer.phar install
```
使用該命令後會在當前目錄中建立一個 vendor 資料夾,裡面包含 SDK 的依賴庫和一個 autoload.php 指令碼,方便在專案中呼叫。
5. 通過 autoload.php 指令碼呼叫 dhccam-sdk。
```php
require '/path/to/vendor/autoload.php';
```
.gitignore
忽略 IDE 部分
.vscode/
.idea/
composer.json
- 通過
composer init
生成 - 新增
php
版本要求 - 新增
psr-4
{
"name": "xxxxxxxx/xxxx-sdk",
"description": "PHP SDK for XXXXXX",
"type": "library",
"require": {
"php": "^7.1"
},
"license": "MIT",
"authors": [
{
"name": "iamname",
"email": "iamname@163.com"
}
],
"prefer-stable": true,
"autoload": {
"psr-4": {
"XXXXX\\Xxxxxx\\": "src/"
}
},
"minimum-stability": "dev"
}
src
- 原始碼位置, 名稱空間和
composer.json
對應上
sample
- 原始碼呼叫例項, 引用參考
require __DIR__. '/../vendor/autoload.php';
問題
- 遠端倉庫位置
建議使用 GitHub, 使用gogs
需要修改配置REQUIRE_SIGNIN_VIEW = true
為 false, 即允許公共包不需要賬號密碼即可檢視, 可能存在原始碼洩露風險
修改配置
/home/git/gogs/custom/conf/app.ini
# 重啟服務
service gogs restart
開始
步驟一 建立遠端倉庫
-
登入 GitHub 新建包
名稱: XXXX
描述: PHP SDK for XXXX
Public
MIT License -
本地克隆
git clone https://www.domain.com/git/mediway/XXXX.git
- 工程初始化
- 提交
步驟二 提交 packagist.org
參考: https://packagist.org/
- 點選提交 Submit
- 輸入 GitHub 地址
自動更新
- 登入 GitHub
- 切換回 https://packagist.org/
- 點選使用者 -> Setting
- connect GitHub
手動更新
username
更換為當前登入優化apiToken
更換為對應的 apiTokenrepository.url
更換為對應包的地址
curl -XPOST -H'content-type:application/json' 'https://packagist.org/api/update-package?username=xxxxx&apiToken=xxxxx' -d'{"repository":{"url":"https://packagist.org/packages/mediway/xxxx"}}'
相關文章
- 如何釋出一個 npm 包NPM
- 如何釋出一個 TypeScript 編寫的 npm 包TypeScriptNPM
- 如何釋出第一個屬於自己的npm包NPM
- 從零建立釋出屬於自己的composer包
- 輕鬆釋出一個自己的composer擴充套件套件
- 釋出自己的composer包
- 釋出一個自己的composer擴充套件[實戰系列]套件
- Composer釋出自己的外掛包
- 分散式檔案儲存系統 fastdfs 的 Composer 包釋出!分散式AST
- 基於刮刮卡Vue元件釋出一個NPM包Vue元件NPM
- 手把手教你釋出一個Python包Python
- 如何釋出一個Android庫Android
- 如何建立一個自己的 Composer 庫
- 如何更新composer包的git版本Git
- nodejs:開發併釋出一個nodejs包NodeJS
- [譯] 建立併釋出一個小而美的 npm 包NPM
- 一分鐘釋出一個屬於自己的npm包NPM
- 記錄下學習釋出一個包到npm上NPM
- 使用私有 GitLab 釋出 Composer packageGitlabPackage
- 公眾號如何釋出一個投票活動
- 如何釋出一個Python命令列工具Python命令列
- 如何釋出一個公共的 vue 元件到 npmVue元件NPM
- 釋出npm包流程NPM
- NPM包(模組)釋出、更新、撤銷釋出NPM
- Node.js 指南(如何釋出N-API包)Node.jsAPI
- 分享一個composer的坑
- 逆向 Model 的 Composer 包
- 如何為你的開源專案釋出一個版本
- 如何實現一個簡單的釋出訂閱模式模式
- 魔改了一下bootstrap-treeview元件,釋出個NPM包體驗一下bootView元件NPM
- Vue.js - 構建你的第一個包並在NPM上釋出Vue.jsNPM
- 我的第一個擴充套件包釋出啦-封裝明道雲API套件封裝API
- 如何設計npm包的開發和釋出流程NPM
- npm包釋出記錄NPM
- 初試npm包釋出NPM
- 釋出一款npm包幫助理解npmNPM
- 小白折騰伺服器(九):一步一步搭個自己的 Composer 包伺服器
- 人人為我,我為人人!向社群釋出自己的 Composer 包