1. 程式人生 > >從零建立釋出屬於自己的composer包

從零建立釋出屬於自己的composer包

> # 原文地址:https://www.wjcms.net/archives/%E4%BB%8E%E9%9B%B6%E5%88%9B%E5%BB%BA%E5%8F%91%E5%B8%83%E5%B1%9E%E4%BA%8E%E8%87%AA%E5%B7%B1%E7%9A%84composer%E5%8C%85 今天給大家講解一下如何從零建立釋出屬於自己的composer包。 > composer包用起來確實非常方便,深受php開發者的青睞,但是如何建立自己的包呢?我們一起來看一下。 # 準備工作 1. 註冊並登入github賬戶,https://github.com/ 2. 安裝好git軟體:https://git-scm.com/download/win 3. 註冊登入packagist賬戶:https://packagist.org/,並與github進行關聯 # 建立線上倉庫 開啟github,點選右上角加號,選擇new repository ![](https://img2020.cnblogs.com/other/1918908/202007/1918908-20200706153744624-1264095084.jpg) 而後,進行相關設定,如下圖: ![](https://img2020.cnblogs.com/other/1918908/202007/1918908-20200706153745696-349225428.jpg) 這裡需要輸入專案名稱,描述,是否公開,是否初始化readme,git忽略檔案,以及開源協議等資訊。 相關選項可以自行研究一下。 然後,點選create repository按鈕建立倉庫。 # 拉取線上倉庫到本地 完成上面的操作化,會成功後會跳轉到倉庫頁面。 ![](https://img2020.cnblogs.com/other/1918908/202007/1918908-20200706153746585-1474897734.jpg) 然後點選右側的code按鈕,然後再點選複製此倉庫的git地址。 回到本地,開啟git軟體,執行clone命令拉取 ``` git clone https://github.com/wjcms/composer-test.git ``` ![](https://img2020.cnblogs.com/other/1918908/202007/1918908-20200706153748272-195354978.jpg) # composer 初始化 先進入專案目錄,在git中命令 ``` cd composer-test ``` 然後執行初始化命令 ``` composer init ``` ![](https://img2020.cnblogs.com/other/1918908/202007/1918908-20200706153751397-339817132.jpg) 詳細設定見上圖。 > ## 注意:package type :library是倉庫,對應提交後的require命令,project是專案,下載後直接能跑起來的,對應create-project命令。 # 配置autoload 初始化完畢後,開啟本地的composer.json資料夾可以進行修改。 附上我的composer.json檔案,上面有詳細註釋 > ### 注執行時候不能加註釋,不然會報錯跑不起來 ```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 ``` ![](https://img2020.cnblogs.com/other/1918908/202007/1918908-20200706153752114-1388669512.jpg) # 建立基本包程式碼 ## 基本目錄 > 這裡對應上面的autoload->psr-4裡面的配置,還有flies配置 先建立一個src目錄,建立helper.php,Database.php ![](https://img2020.cnblogs.com/other/1918908/202007/1918908-20200706153752445-437194928.jpg) ![](https://img2020.cnblogs.com/other/1918908/202007/1918908-20200706153752840-896207317.jpg) # 提交到github倉庫 切換到本地目錄 ``` cd composer-test ``` 然後執行命令git add .命令,把檔案提交到本地倉庫 ``` git add . ``` 然後git commit -m 新增提交註釋 ``` git commit -m '第一個composer包' ``` 然後git push進行提交,把檔案提交到github ``` git push ``` ![](https://img2020.cnblogs.com/other/1918908/202007/1918908-20200706153754361-1798836705.jpg) 然後輸入github賬戶使用者名稱密碼,即可成功提交。 ![](https://img2020.cnblogs.com/other/1918908/202007/1918908-20200706153755552-2007599343.jpg) # 提交到packagist 開啟github專案地址,複製網址:如https://github.com/wjcms/composer-test 開啟https://packagist.org/,右上角submit提交 ![](https://img2020.cnblogs.com/other/1918908/202007/1918908-20200706153756571-623179023.jpg) 然後把github專案地址貼上到框中 ![](https://img2020.cnblogs.com/other/1918908/202007/1918908-20200706153759832-1003940280.jpg) 點選提交,如果有重名的會提示,不用管直接點submit ![](https://img2020.cnblogs.com/other/1918908/202007/1918908-20200706153802994-970101511.jpg) 看到下圖,就成功了。 可以複製命令試一下是否能成功。 ![](https://img2020.cnblogs.com/other/1918908/202007/1918908-20200706153805201-1981155733.jpg) > ![關注我更多精彩](https://img2020.cnblogs.com/other/1918908/202007/1918908-20200706153815268-698406