用laravel框架也有一段時間了, 可是沒有寫過comoser包,面試的時候, 有人問寫過composer包沒。我說沒有寫過, 那東西很簡單。只有懂得composer的自動加載規範就能很容易寫一個包。nginx
寫composer包很簡單, 去https://packagist.org註冊一個帳號, 而後在github上建立一個composer包項目, 而後將信息填到packagist後臺, 這樣別人就能夠用composer來下載你的包了。laravel
這種包都是公開的, 可是在公司開發中, 有一些包是不能公開的。composer官網提出了幾種方法,下面來用satis來搭建私有composer包服務。git
1.下載satis源碼, 並安裝github
2.建立satis.json文件面試
{ "name": "My Repository", "homepage": "http://satis.dev", "repositories": [ { "type": "vcs", "url": "https://git.oschina.net/1129103472/ceshi.git" }, { "type": "vcs", "url": "https://git.oschina.net/1129103472/ceshi-1.git" }, {"packagist": false} ], "require-all" : true, "config":{"secure-http":false} }
repositories裏面每個項, 表明一個composer包, 都是。json
3. bin/satis build satis.json publiccomposer
4.配置nginx框架
server { listen 80 ; server_name satis.dev; root /Users/lixiangyang/data/satis/public; }
訪問satis.dev ,以下圖ui
在引用似有包的時候, composer.json要注意一下幾點,repositories設置, secure-http設置爲false,由於composer默認https, 依賴的包若是沒有release或者tag版本號設爲dev-master.url
{ "repositories": [ { "type": "composer", "url": "http://satis.dev/" } ], "require": { "sapolang/ceshi": "1.0.0", "sapolang/ceshi-1": "dev-master" }, "config" :{"secure-http":false} }