composer的使用

     分类:PHP知识点梳理     有: 0 条评论

初始化

要使用 Composer,我们需要先在项目的根目录下创建一个 composer.json 文件,文件描述了项目的依赖关系。

{
  "require": {
    "monolog/monolog": "1.0.*"//一个日志工具
    ......... 你的其他包

  }
}

安装依赖 install

install 命令从当前目录读取 composer.json 文件,处理了依赖关系,并把其安装到 vendor 目录下。

composer install

等待安装完成之后会自动生成一下目录

WX20190710-211517@2x.png

申明依赖 require

require 命令增加新的依赖包到当前目录的 composer.json 文件中,并把其安装到 vendor 目录下。

composer require "monolog/monolog=1.0.*"

更新某个包 update

composer update monolog/monolog
//也可以指定版本
composer update "monolog/monolog=1.1.1"    

版本号指定说明

通配符
1.0.*相当于>=1.0 <1.1。
波浪号~

~1.2相当于>=1.2 <2.0.0
折音号^
^1.2.3相当于>=1.2.3 <2.0.0
指定确切版本
1.0.1

卸载包

composer remove packageName

搜索包

composer search monolog

composer.lock - 锁文件

在安装依赖后,Composer 将把安装时确切的版本号列表写入 composer.lock 文件。这将锁定改项目的特定版本。
这是非常重要的,因为 install 命令将会检查锁文件是否存在,如果存在,它将下载指定的版本(忽略 composer.json 文件中的定义)。

这意味着,任何人建立项目都将下载与指定版本完全相同的依赖。你的持续集成服务器、生产环境、你团队中的其他开发人员、每件事、每个人都使用相同的依赖,从而减轻潜在的错误对部署的影响。即使你独自开发项目,在六个月内重新安装项目时,你也可以放心的继续工作,即使从那时起你的依赖已经发布了许多新的版本。

如果不存在 composer.lock 文件,Composer 将读取 composer.json 并创建锁文件。

这意味着如果你的依赖更新了新的版本,你将不会获得任何更新。此时要更新你的依赖版本请使用 update 命令。这将获取最新匹配的版本(根据你的 composer.json 文件)并将新版本更新进锁文件。

composer 自动加载机制

//直接引入vendor/autoload.php就可以使用

require 'vendor/autoload.php';

$log = new Monolog\Logger('name');
$log->pushHandler(new Monolog\Handler\StreamHandler('app.log', Monolog\Logger::WARNING));

$log->addWarning('Foo');

composer 重载自动加载类机制

如果composer安装了类库,自动加载不了,可以用这个命令重载自动加载类机制

composer dump-autoload

官方文档:https://docs.phpcomposer.com/00-intro.html

(●゚ω゚●)