composer的安装与使用

composer是什么?

Composer 是 PHP5.3以上 的一个依赖管理工具。它允许你声明项目所依赖的代码库,它会在你的项目中为你安装他们。Composer 不是一个包管理器。是的,它涉及 “packages” 和 “libraries”,但它在每个项目的基础上进行管理,在你项目的某个目录中(例如 vendor)进行安装。默认情况下它不会在全局安装任何东西。因此,这仅仅是一个依赖管理。只有符合(并不绝对,composer支持自定义加载方式,但强烈建议)psr-0(已废弃)psr-4的代码编程规范的扩展包才能实现composer的自动加载机制。

如何安装

第一种方法安装包
第二种方法手动安装
找到下载网址官网或者阿里镜像(推荐)
将下载的composer.phar放到php安装目录下
在php的目录下使用cmd的环境执行命令(不用使用powershell

echo @php "%~dp0composer.phar" %*>composer.bat

中国镜像

由于官方的镜像在github下载速度过于缓慢,强烈建议改为阿里镜像,使用如下命令

composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/

或者在项目的composer.json中单独配置

composer config repo.packagist composer https://mirrors.aliyun.com/composer/

如何使用

  1. 如果使用了thinkphp,laravel框架等,框架内部已经引入了自动加载的代码,它们会在入口文件的地方使用类似代码require __DIR__.'/../vendor/autoload.php';,composer的自动加载会在vendor目录下生成一个autoload.php文件,只要引入了这个文件,就能实现自动加载,以tp框架为例,在composer.json中有如下代码
 "autoload": {
        "psr-4": {
            "app\\": "application"
        },
        "files": [
            "app/Helpers/functions.php"
        ],
 },

这个代码意思是将tp框架的跟目录下(与vendor平级的目录)的application目录映射为app的命名空间,凡是在application目录下的文件,只要psr-4的规范的都可以实现自动加载,下面那个files指的是app/Helpers/functions.php这个文件也会被自动加载。

  1. 在一个空白项目中使用,首先使用composer init,创建一个composer.json文件,然后使用composer require xxx 引入某个扩展包,当你要使用这个扩展包文件时,只要在你的php入口文件(入口文件假设于vendor目录平级)中使用require './vendor/autoload.php',就可以实现自动加载相关类,而无需手动引入。

composer.json内容详解

只讲require字段,其它字段详细文档

  • require 字段显示你引用了那些依赖
{
    "require": {
        "monolog/monolog": "1.0.*"
    }
}
名称实例描述
确切的版本号1.0.2你可以指定包的确切版本
范围>=1.0; >=1.0,<2.0; >=1.0,<1.1|>=1.2通过使用比较操作符可以指定有效的版本范围。有效的运算符:>、>=、<、<=、!=。你可以定义多个范围,用逗号隔开,这将被视为一个逻辑AND处理。一个管道符号
通配符1.0.*你可以使用通配符*来指定一种模式。1.0.*与>=1.0,<1.1是等效的。
赋值运算符~1.2这对于遵循语义化版本号的项目非常有用。~1.2相当于>=1.2,<2.0。

composer.lock 锁定依赖版本

当你执行composer installcomposer require xxx 后,会生成或改写一个composer.lock,将当时的依赖版本进行锁定,可以将此文件加入git管理中,可以锁定项目的依赖版本,防止版本不同造成的兼容性问题。

composer中的一些常用命令

1、composer list 获取帮助信息
2、composer init 以交互方式填写composer.json文件信息
3、composer install 从当前目录读取composer.json文件,处理依赖关系,并安装到vendor目录下
4、composer update 获取依赖的最新版本,升级composer.lock文件
5、composer require 添加新的依赖包到composer.json文件中并执行更新
6、composer search 在当前项目中搜索依赖包
7、composer show 列举所有可用的资源包
8、composer validate 检测composer.json文件是否有效
9、composer self-update 将composer工具更新到最新版本
10、composer create-project 基于composer创建一个新的项目
11、composer dump-autoload 在添加新的类和目录映射是更新autoloader
12、composer remove twbs/bootstrap 删除依赖后还需要去vender文件夹里,手动删除

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值