php composer学习知识点

php composer学习知识点

最近需要接触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

 


{
"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"
}
}
本地项目中的composer.json

{ "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了。

目前就到这里。