用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} }