当前位置:首页 > php > PHP依赖管理工具composer 2.0正式发布

PHP依赖管理工具composer 2.0正式发布

转载自:oschina 2020-10-26 php 592
分享给朋友:

composer 2.0 现在已更新!

性能改进说明(英文)

https://blog.packagist.com/composer-2-0-is-now-available/

up-9e0af26ea426a5bf0d987d05926ffb3a228.png

1.有什么新功能?

对于命令行(CLI)用户

  • 新的平台检查功能检查运行时 PHP 版本和可用扩展,以确保它们与项目依赖项匹配。如果发现不匹配,它将退出并显示错误详细信息。建议在生成或部署过程中使用生产 PHP 流程运行composer check-platform-reqs

  • 如果包存在于优先级较高的存储库中,则现在在优先级较低的存储库中将完全忽略该包。有关详细信息,请参阅存储库优先级。

  • 无效的 PSR-0 / PSR-4 类配置在优化自动加载器模式下不再自动加载,根据 1.10 中引入的警告

  • 在支持 XDG 基本目录规范的 linux 系统上,Composer 现在更喜欢使用 XDG_CONFIG_DIR/composer 而不是 ~/.composer(如果两者都可用1.x 首先使用 ~/.composer first)

  • 包名称现在必须符合我们的命名准则,否则 Composer 将发生错误并终止运行。(https://github.com/composer/composer/blob/2.0.0/doc/04-schema.md#name

  • 不推荐使用 --no-suggest ,因为不再需要它

  • PEAR 支持(存储库、下载器等)已被删除

  • update现在首先列出对 composer.lock 文件的更改(更新步骤),然后列出将锁文件安装到 vendor目录 时应用的更改(安装步骤)

  • HTTPS_PROXY_REQUEST_FULLURI如果未指定, 现在将默认为 false, 因为这似乎在大多数环境中工作得更好

  • dev-trunk, dev-master 和dev-default 并且不再是彼此的别名。现在保留确切的分支名称。

2. 依赖项解析、作曲家更新和安装期间事件流的详细差异

composer v1

  • composer解析依赖关系(调度 PRE/POST_DEPENDENCIES_SOLVING)

  • 然后,它一步一步地遍历所有软件包(调度PRE_PACKAGE_INSTALL / UPDATE / UNINSTALL,然后根据需要调度PRE_FILE_DOWNLOAD,然后进行POST_PACKAGE_ *)。

  • 最后在末尾写入锁文件

composer v2

更新和安装过程已拆分。

更新会:

  • composer 解析依赖项(调度PRE_POOL_CREATE)

  • 然后写入锁定文件,更新结束

然后安装:

  • 向PRE_OPERATIONS_EXEC发送要执行的完整操作列表

  • 并行下载所有尚未在缓存中的软件包(为尚未在缓存中的软件包调度PRE_FILE_DOWNLOAD)

  • 然后,它遍历所有软件包并并行执行更新/安装/卸载(先分发PRE_PACKAGE_INSTALL / UPDATE / UNINSTALL,然后发布POST_PACKAGE_ *,但是最后启动的一个软件包可能会在完成另一个安装之前完成安装)。

分享给朋友:

相关文章

在PHP7+下监控Memcached服务、性能、扇区等信息

PHPMemcachedAdmin:一款网页可视化的Memcached工具

Swoole的PHP协程开发框架 imi 集成ThinkPHP模板引擎 think-template

在 imi 框架根目录中执行composer require topthink/think-template安装好模板引擎后,找到路径\vendor\topthink\think-template\src\Template.php找到 fetch() 渲染模板文件的方法,将最后一

PHP7下MongoDB自增或自减一个字段的值

findAndModify属于原子操作模型数据,所谓原子操作就是要么这个文档保存到Mongodb,要么没有保存到Mongodb,不会出现查询到的文档没有保存完整的情况。

PHP的面向对象解析

早期编程由于受电脑硬件限制,程序都是追求效率,而忽略可理解性,扩充性,随着硬件技术的发展,编程越来越重视多人开发,程序员越来越重视程序的可靠性,可扩展性,可维护性,所以刺激了程序语言的发展

ThinkPHP6.0使用EasyTask常驻内存多进程任务管理

PHP常驻内存的多进程任务管理器Composer包。以进程管理为出发点,同时也支持为每个进程设置定时执行功能,您可以用它来完成需要重复运行的任务(如订单超时自动取消,短信邮件异步推送,队列/消费者/频道订阅者等等),甚至处理计划任务。

PHP8新特性盘点

PHP 8.0.0 已经正式发布了,这个对于PHPer无疑是一个令人振奋的消息。它包含了很多新功能与优化项, 包括命名参数、联合类型、注解、构造器属性提升、match表达式、nullsafe运算符、JIT,并改进了类型系统、错误处理、语法一致性。

PHP8新特性系列:构造器属性提升使用及注意事项

本篇主要说下PHP8构造器属性提升的用法,这个特性对于一些需要在构造器中设置或初始化一些类属性的时候非常有用(包括public、protected和private),比如在PHP7中你可以这样定义一个类的属性,然后在构造方法中传值。class Point {  &nb

ThinkPHP6.0在PHP8下报错解决方法

PHP8下全新安装ThinkPHP6.0.X出现报错,如下Deprecated: Method ReflectionParameter::getClass() is deprecated in xxxx\vendor\topthink\fr

MongoDB驱动聚合查询aggregate在分组分页排序后出现的数据混乱问题

最近在获取MongoDB数据时需要把重复的数据分组来排序,语言版本:PHP7

2020年度最受欢迎中国开源软件评选【投Thinkphp一票否】

评选活动分为「最佳人气项目」、「优秀 Gitee 组织」及「最积极运营项目」等子类,本页面用于投票选出「最佳人气项目」;