PHP使用者大多對composer是又愛又恨,愛的是composer require后,很多類庫不用去下載了,恨的是網速卡成翔,雖然國內有很多道友做了鏡象,但對於bower庫這些都還是整體更新。
那么,如何只利用composer的基本功能來為自己服務呢?composer的官網有介紹,只要在composer.json中加入幾行代碼就行了。。
"repositories":[
{
"type":"git",
"url":"/var/www/gouki/test/"
},
]
上面的代碼中/var/www/gouki/test,是我的一個git庫。也是按照composer的標准來建的。里面只有一個composer.json文件:
{
"name":"gouki/test",
"description":"test",
"authors":[
{
"name":"gouki",
"email":"xxxx@qq.com"
}
],
"minimum-stability":"dev",
"require":{},
"autoload":{
"psr-4":{
"gouki\\test\\":"src/"
}
},
"extra":{
"branch-alias":{
"dev-master":"1.0.x-dev"
}
}
}
src目錄下的代碼中使用的namespace就是gouki\test,然后在原項目的composer.json中再加入:
"require":{
"gouki/test":"dev-master"
},
最后,運行一下composer update,你會看到項目的根目錄下多了vendor目錄,同時,vendor目錄下也會多一個gouki/test的目錄,至此項目引入成功,如果還不放心,那就看一下:vendor/composer/autoload_psr4.php中有沒有gouki/test。
之所以這么做,就是因為前文所說的速度,當然也有小團隊的成本。比如寫個類,就可以直接composer進行加載了。
問題就這么來了,如果放到線上去,那上面的
"repositories":[
{
"type":"git",
"url":"/var/www/gouki/test/"
},
]
需要改為:
"repositories":[
{
"type":"git",
"url":" http://xxxx.xxx.xxx/git "
},
]
如果該git是public的,則不需要任何處理,如果git是需要登錄的,則需要在項目的根目錄下(和composer.json平級的目錄)增加一個auth.json,里面也就兩三行代碼
{
"http-basic":{
"http://xxxx.xxx.xxx/git":{
"username":"",
"password":""
}
}
}
當然如果你是ssh免登陸的git則另計。至此一個小小的自建composer源就已經完成。
本站采用版權協議, 要求署名、非商業和保持一致. 本站歡迎任何非商業應用的轉載, 但須注明出自"
", 保留原始鏈接, 此外還必須標注原文標題和鏈接.
