php開發免不了要使用Composer,使用Composer有著明顯的好處。一是可以很好的解決第三方包的相互依賴,二是可以方便進行代碼的重用。
那如何制作自己的Composer包呢?
制作Composer包有幾個步驟:
1、以git為例,先創建一個倉庫,GitHub、Gitlab、碼云都可以。甚至,使用svn也是可以的。

2、將倉庫clone到本地,如下:
git clone 倉庫地址
3、進入本地目錄,然后執行初始化命令,如下:

在此過程中,命令行會提示你輸入一些配置信息,以自動生成如下composer.json文件:

以上步驟操作完畢后,下面你需要在composer.json文件的同級目錄,創建src目錄。此目錄將用來保存你的邏輯代碼。
src目錄創建完后,你需要在剛才的composer.json文件中加入一段:

這一段代碼將確保使用Composer安裝你的Composer包時,你的代碼可以被自動加載到項目中。

因為按照psr-4自動加載的規則要求,命名空間的地址要與實際目錄保持一致,因此,這里administrator\test\對應的就是你的實際目錄層級和名稱,也即是administrator\test\對應的是administrator/test/src目錄。
4、待src目錄中的主體邏輯編寫完畢后,你可以提交這些代碼到你的倉庫。然后,在composer鏡像網站提交你的倉庫地址。

提交成功之后,在你的包列表中會出現如下的composer包信息。

至此,一個自定義的包就制作好了。
需要說明的是,這里我使用的composer官方鏡像網站,但實際上,我們也可以不使用composer官方鏡像網站。比如,直接使用git倉庫,作為包的代碼來源。

以上repositories就是用來指定代碼來源,當type為composer就表示使用composer鏡像網站(可以是官方的,也可以是非官方的),當type為vcs就表示直接使用代碼倉庫(可以是git倉庫,也可以是svn倉庫),具體的大家可以在這里查看:composer.json 架構 | Composer 中文文檔 | Composer 中文網
使用vcs,雖然沒有問題,而且也很安全,但是每引入一個自制包,你都要在repositories中增加一個地址項,這樣太麻煩了。
那有沒有一個方法可以讓自制的composer包,能像官方倉庫里的composer包一樣使用呢?答,有的。在下一期的文章中,我將介紹如果搭建自己的composer包倉庫。