Composer 入门简介
目前最流行的 PHP 开发框架,采用的都是 Composer 包管理器,不管是Symphony,Laravel,还是国内的 Think PHP 5,Think PHP 5,Slim 等,之所以 Composer 得到众多框架的认可,主要是它更好的解决了包之间的依赖关系,把第三方的开发包管理组织的更为合理。学习 和使用 Composer 已经成为现代 PHP 程序员绕不开的一个环节。掌握 Composer 之后,世界上大量优质的第三方技能包我们都可以拿过来直接用,极大的提升开发速度和开发质量。学习和使用框架的时候也会得心应手。
一切都从安装开始
composer安装参考:https://www.phpcomposer.com/
window系统composer下载:https://getcomposer.org/download/
使用 composer require 安装 composer 包
1、composer ini初始化composer配置文件使用
2、composer包下载地址:https://packagist.org/
例如下载illuminate包
composer require illuminate/container
包加载顺序,先加载依赖最后才加载自己

3、目录讲解
vendor:核心文件
-composer:与autoload.php共同完成类的自动加载
-illuminate
-psr
autoload.php
composer install 和 composer update
在composer 结合github平台开源项目中,.gitignore文件下都会将不会修改的/vendor进行过滤,那么通过git pull拉取到的项目是缺少/vendor等目录文件的,这时候就需要用到composer install或者composer update命令了
composer install:拉取当前composer.json文件中指定的版本包(一般的是经过开发测试稳定的版本)
composer update:拉取远程composer仓库中最新的版本包(慎用,需要经过测试后再投入生产环境中)

composer.json composer.lock 文件与 install 和 update 命令的关系
当vendor目录不存在的时候,在运行composer install时检查会先检查composer.lock里查询相应的本版的包并下载下来;composer update则是先读取composer.json文件然后composer.lock文件,当json文件中的版本与远程仓库中的指定版本发生了变化则会拉取远程仓库中指定版本的最新版本,例如6.2为当前版本,远程有6.9和7.3版本,则会拉取6.9当前指定版本的最新版本
composer删除相应开发包
1)方法一:以移除“phpunit/phpunit”开发包为例
composer remove phpunit/phpunit
2)方法二:
在composer.json文件中require的json下删除相应的开发包然后执行composer update命令即可
如何在开发环境和部署环境下载不同开发包
在开发与测试阶段引用不同的开发包,以phpunit/phpunit包为例
1)在本地环境中下载测试的开发包使用以下命令
composer require --dev phpunit/phpunit
2)在生产环境中不使用测试的开发包使用以下命令会跳过dev的开发包
composer install --no-dev
使用 Composer dumpautoload 生成自动加载文件
使用场景:
由于开发项目的使用会使用很多第三方的开发包,当引用过多的第三方开发包的使用有的类在vendor\composer目录下自动加载会存在找不到的情况,这时候重新运行下composer dump-autoload命令会重新生成自动加载的所有文件
用法:
composer dump-autoload
通过composer create-project 创建新的项目
1)以laravel项目为例,创建一个当前最新的laravel项目并命名项目名称为blog
composer create-project laravel/laravel blog
2)下载指定版本的最新laravel项目,并命名为blog
composer create-project --prefer-dist laravel/laravel blog "6.*"
开发包的版本号的^号和~号是怎么一回事儿
1)^尖号:在使用composer update时候,会以大版本+1限定最高版本,例如8.2.4版本更新时会以8版本更新不超过8版本的更新最大版本

2)~飘号:在使用composer update时候,会以中间版本+1限定最高版本,例如8.2.4版本更新时会以8.2版本更新不超过8.2版本的更新最大版本
如何使用 composer 第三方开发包的功能
这里以安装使用monolog/monolog为例
一般关于monolog包的使用文档会在github说明

本文介绍Composer的基本使用方法,包括安装配置、包管理、自动加载机制等内容。掌握Composer能有效提升PHP开发效率。
最低0.47元/天 解锁文章
219

被折叠的 条评论
为什么被折叠?



