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
{ "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了。
目前就到这里。