最近需要接触composer,边学边随便写写,刚学认识可能比较浅,可能断断续续的,写完会整理下~~~
Composer是PHP中的一个依赖管理工具. 它可以让你声明自己项目所依赖的库,然后它将会在项目中为你安装这些库。
其实就是自动安装项目依赖的类库,包之类的。多人开发是一个很好的方式。
关于安装不谈。
1.composer.json
svn/git的导入依赖包。头疼当时找了好久。
开始以为就是在本地的目录中需要一个composer.json然后安装。
composer.json中require需要的库名和版本,require对应相应的repositories,repositories中配置相应的包的类型,url,这样就完了。
结果试了很久都不行,说没有一个明确的composer.json指向一个特定的branch或者tag,半天没明白,我本地不是明明有composer.json了么,
半天才回过神,远程的svn/git可能也需要声明一个,双方达成一致。
我的第一个composer实现例子:
git项目中的composer.json
本地项目中的composer.json{"name" : "fun/FunFramework" ,"description" : "my test php framework" ,"homepage" : "https://github.com/ayoah/FunFramework" ,"type" : "library" ,"license" : "MIT" ,"authors" : [{"name" : "jun.fang" ,"email" : "ayoahy@gmail.com" ,"homepage" : "https://github.com/ayoah"}],"require" : {"php" : ">=5.3.0"}}
{
"repositories": [
{
"type": "vcs",
"url": "https://github.com/ayoah/FunFramework"
}
],
"require" : {
"fun/FunFramework" : "dev-master"
}
}
当然git上的那个项目也可以去require他自己需要的库,这样一层一层的,的确比较清晰。
svn:这个比较繁琐,可能是我对路径这方面没有很理解吧。(中间配了一个http方式的svn,不知道是不是svn方式也可以哈,个人感觉用http吧)
上json
依赖库中基本和git一样,申明名字就ok
项目中:
{
"repositories": [
{
"packagist":false
},
{
"type": "svn",
"url": "http://192.168.8.178:8080/svn/3g",
"branches-path": false,
"tags-path": false
}
],
"require" : {
"fun/core" : "dev-trunk"
}
}
成功!
branches更蛋疼:(关键是可能你的branches命名需要做一些规定比如我开始给一个branches取名0.0.1,然后require的时候dev-0.0.1死都不行,换成test-0.0.1就可以了,官方文档写的太粗了)
{
"repositories": [
{
"packagist":false
},
{
"type": "svn",
"url": "http://192.168.8.178:8080/svn/3g/",
"tags-path": false,
"branches-path": "3g/branches",
"trunk-path":false
}
],
"require": {
"fun/3g": "dev-test-0.0.1"
}
}
require,require-dev(composer install --dev 才能安装)
接下来是atuoload和update了。
目前就到这里。