@a5635268
2017-05-13T21:14:15.000000Z
字数 1855
阅读 1317
PHP
中文文档: http://www.phpcomposer.com/
五个技巧:http://www.jb51.net/article/53881.htm
composer config -g repo.packagist composer https://packagist.phpcomposer.com
http://docs.phpcomposer.com/01-basic-usage.html#composer.json-Project-Setup
具体键名说明: http://docs.phpcomposer.com/04-schema.html#JSON-schema
http://docs.phpcomposer.com/01-basic-usage.html#Installing-Dependencies
php composer.phar install
报错解决方案:
1. http://my.oschina.net/chinahub/blog/540109
2. http://stackoverflow.com/questions/33909559/php-composer-xdebug-warning
http://docs.phpcomposer.com/01-basic-usage.html#composer.lock-The-Lock-File
第一次 composer install
以后就会生成这个锁文件,一旦有这个锁文件以后的update就是根据这个锁文件进行更新,如果composer.json 里面有了改变,哪怕一个小小的空格都会导致改变文件的md5sum。然后Composer就会警告你哈希值和composer.lock中记载的不同。
http://docs.phpcomposer.com/01-basic-usage.html#Packagist
一些优秀的包:
vinelab/http:https://packagist.org/packages/vinelab/http
http://docs.phpcomposer.com/01-basic-usage.html#Autoloading
autoload提供了一些自动加载的方案,更改完该内容以后就composer update一下;
"autoload": {
"psr-4": {
"App\\": "app/"
},
"files": [
"app/Tool/Tool.php" //files一般用来做函数库加载的。
]
},
"autoload-dev": {
"classmap": [ # 直接 new \ClassName 来使用;
"tests/", # 如果此处是目录,那此目录下新增加了类文件,也要update一下,内部是循环加载进vendor/composer/autoload_classmap.php文件中;
"database/",
"SomeClass.php"
]
}
1. 仅更新单个库
composer update foo/bar
2. 如果composer.json仅仅是增加了点描述,这个时候我们可以执行 update nothing
来更新composer.lock。
3. 不编辑composer.json的情况下安装库
composer require "foo/bar:1.0.0"
4. 自动克隆仓库,并检出指定的版本
composer create-project doctrine/orm path 2.2.0
5. 考虑缓存,dist包优先
6. 考虑修改,源代码优先
https://lvwenhan.com/tag/Composer/page/2