镜像原理:
一般情况下,安装包的数据(主要是 zip 文件)一般是从 github.com 上下载的,安装包的元数据是从 packagist.org 上下载的。
以上所有问题的原因都是镜像的问题,国外镜像加载速度慢,那么换个镜像,下面加载阿里云的镜像,执行:
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/
注意:千万不要换成这个镜像
https://packagist.phpcomposer.com
//配置国内源 全局
composer config -g repo.packagist composer https://packagist.phpcomposer.com
//配置国内源 当前目录生效
composer config repo.packagist composer https://packagist.phpcomposer.com
//恢复国外源
composer config -g repo.packagist composer https://repo.packagist.org
//查看全局composer配置
composer config -g -l
// 创建yii项目。 使用国内源也会慢,前端管理依然走国外
//https://pkg.phpcomposer.com/
composer create-project --prefer-dist yiisoft/yii2-app-basic basic
引入包 查看git代码有doc说明文档
composer require
创建项目
composer create-project
composer require monolog/monolog
update和install的区别
请提交你应用程序的 composer.lock (包括 composer.json)到你的版本库中
因为 Composer install 命令将会检查锁文件是否存在,如果存在,它将下载指定的版本(忽略 composer.json 文件中的定义)。这意味着,任何人建立项目都将下载与指定版本完全相同的依赖。
如果不存在 composer.lock 文件,Composer 将读取 composer.json 并创建锁文件。
此时要更新你的依赖版本请使用 update 命令。这将获取最新匹配的版本(根据你的 composer.json 文件)并将新版本更新进锁文件。
php composer.phar update
如果只想安装或更新一个依赖,你可以白名单它们:
php composer.phar update monolog/monolog
自动加载
对于库的自动加载信息,Composer 生成了一个 vendor/autoload.php 文件。你可以简单的引入这个文件,你会得到一个免费的自动加载支持。
require 'vendor/autoload.php';
这使得你可以很容易的使用第三方代码。例如:如果你的项目依赖 monolog,你就可以像这样开始使用这个类库,并且他们将被自动加载。
$log = new Monolog\Logger('name');
$log->pushHandler(new Monolog\Handler\StreamHandler('app.log', Monolog\Logger::WARNING));
$log->addWarning('Foo');
你可以在 composer.json 的 autoload 字段中增加自己的 autoloader。
{
"autoload": {
"psr-4": {"Acme\\": "src/"}
}
}
查看帮助
composer help create-project
composer install -vvv
-v|vv|vvv, --verbose Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug