從零創建發布屬於自己的composer包
- 2020 年 7 月 6 日
- 筆記
原文地址://www.wjcms.net/archives/從零創建發布屬於自己的composer包
今天給大家講解一下如何從零創建發布屬於自己的composer包。
composer包用起來確實非常方便,深受php開發者的青睞,但是如何創建自己的包呢?我們一起來看一下。
準備工作
- 註冊並登錄github賬戶,//github.com/
- 安裝好git軟體://git-scm.com/download/win
- 註冊登錄packagist賬戶://packagist.org/,並與github進行關聯
創建線上倉庫
打開github,點擊右上角加號,選擇new repository

而後,進行相關設置,如下圖:

這裡需要輸入項目名稱,描述,是否公開,是否初始化readme,git忽略文件,以及開源協議等資訊。
相關選項可以自行研究一下。
然後,點擊create repository按鈕創建倉庫。
拉取線上倉庫到本地
完成上面的操作化,會成功後會跳轉到倉庫頁面。

然後點擊右側的code按鈕,然後再點擊複製此倉庫的git地址。
回到本地,打開git軟體,運行clone命令拉取
git clone //github.com/wjcms/composer-test.git

composer 初始化
先進入項目目錄,在git中命令
cd composer-test
然後運行初始化命令
composer init

詳細設置見上圖。
注意:package type :library是倉庫,對應提交後的require命令,project是項目,下載後直接能跑起來的,對應create-project命令。
配置autoload
初始化完畢後,打開本地的composer.json文件夾可以進行修改。
附上我的composer.json文件,上面有詳細注釋
注運行時候不能加註釋,不然會報錯跑不起來
{
"name": "wjcms/composer-test",#包名稱
"description": "composer-test description",#包描述資訊
"type": "project",#類型,可選e.g. library, project, metapackage, composer-plugin
"license": "MIT",#開源協議
"authors": [
{
"name": "wjcms",#作者
"email": "[email protected]"#郵箱
}
],
"minimum-stability": "stable",#版本限制 dev開發版 stable 穩定版
"autoload":{
"files":[
"src/lib/helper.php"#載入助手函數
],
"psr-4":{ # 自動載入: 注意了, 這裡有 psr-4, psr-2 多種規範, 並且,注意目錄和命名空間
"wjcms\\composer\\":"src"#載入命名空間
}
}
}
更改完畢後進行保存,而後運行命令重新載入。
composer dump-autoload

創建基本包程式碼
基本目錄
這裡對應上面的autoload->psr-4裡面的配置,還有flies配置
先創建一個src目錄,創建helper.php,Database.php

提交到github倉庫
切換到本地目錄
cd composer-test
然後運行命令git add .命令,把文件提交到本地倉庫
git add .
然後git commit -m 添加提交注釋
git commit -m '第一個composer包'
然後git push進行提交,把文件提交到github
git push

然後輸入github賬戶用戶名密碼,即可成功提交。

提交到packagist
打開github項目地址,複製網址:如//github.com/wjcms/composer-test
打開//packagist.org/,右上角submit提交

然後把github項目地址粘貼到框中

點擊提交,如果有重名的會提示,不用管直接點submit

看到下圖,就成功了。
可以複製命令試一下是否能成功。



