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

2、將倉(cāng)庫(kù)clone到本地,如下:
git clone 倉(cāng)庫(kù)地址
3、進(jìn)入本地目錄,然后執(zhí)行初始化命令,如下:

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

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

這一段代碼將確保使用Composer安裝你的Composer包時(shí),你的代碼可以被自動(dòng)加載到項(xiàng)目中。

因?yàn)榘凑誴sr-4自動(dòng)加載的規(guī)則要求,命名空間的地址要與實(shí)際目錄保持一致,因此,這里administrator\test\對(duì)應(yīng)的就是你的實(shí)際目錄層級(jí)和名稱,也即是administrator\test\對(duì)應(yīng)的是administrator/test/src目錄。
4、待src目錄中的主體邏輯編寫完畢后,你可以提交這些代碼到你的倉(cāng)庫(kù)。然后,在composer鏡像網(wǎng)站提交你的倉(cāng)庫(kù)地址。

提交成功之后,在你的包列表中會(huì)出現(xiàn)如下的composer包信息。

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

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