phoneburner/composer-replacements 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

phoneburner/composer-replacements

Composer 安装命令:

composer require phoneburner/composer-replacements

包简介

A 'no-op' Composer dependency used to cleanly replace other packages and unneeded polyfills

README 文档

README

A 'no-op' Composer package used to cleanly replace other dependencies and unneeded polyfills.

Why replace safe polyfill packages like symfony/polyfill-php84?

  1. A root project that depends on this library is guaranteed to be on PHP 8.4 or later, due to this library's version constraints. If some other dependency of the root project requires the symfony/polyfill-php84 package, that package is completely unnecessary and adds overhead to every request. That overhead is very slight, especially when opcache is enabled, but it exists nevertheless. Polyfills usually have some kind of "bootstrap.php" file configured to always load and execute when Composer initializes autoloading. Ideally, polyfill libraries minimize their performance impact with some kind of early return conditional that checks for the PHP version or existence of a particular extension.
  2. Because they could define methods in the global namespace, even though the definition code would never execute at runtime, unneeded polyfills can complicate static analysis and IDE tooling. Beyond simple "multiple definitions exist" warnings, nothing enforces a polyfill method to have the same signature as method it covers.
  3. Unneeded packages are unnecessary downloads when building production images and have dependency constraints that Composer has to manage. These are additional potential points of failure.

Why require this package instead of defining replacements in the root?

  1. Repeatability across multiple projects.
  2. Requiring this library as a dev dependency does not other affect packages that require it. This is most useful for frameworks and framework-like packages where the library has complex behavior and testing.
  3. The output of Composer commands that produce tree output is significantly cleaner, especially if also run recursively.

 docker run --rm -it -v $PWD:/app -u $(id -u):$(id -g) composer/composer install --ignore-platform-reqs

统计信息

  • 总下载量: 2.93k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 0
  • 依赖项目数: 6
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 2
  • Forks: 0
  • 开发语言: Dockerfile

其他信息

  • 授权协议: MIT
  • 更新时间: 2025-07-31

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固