【发布时间】:2026-01-05 11:20:05
【问题描述】:
可以使用composer require vendor/package-name 之类的命令从packagist.org 安装PHP 包。现在composer documentation 声明在作曲家执行期间有几个事件的钩子:
在 Composer 的术语中,脚本可以是 PHP 回调(定义为静态方法)或任何命令行可执行命令。脚本对于在 Composer 执行过程中执行包的自定义代码或包特定的命令很有用。
文档进一步说明:
注意:仅执行根包的 composer.json 中定义的脚本。如果根包的依赖项指定了自己的脚本,则 Composer 不会执行这些附加脚本。
这是否意味着当需要通过 composer require vendor/package-name 从 packagist.org 获取包时,无法执行 PHP 代码?
【问题讨论】:
-
仅当您在需要包之前在主 composer.json 中手动放置一个 post 脚本时。因此,作为包维护者,您无法访问根目录,如果您可以加载和执行包之外的任何内容,这将是一个安全问题。
标签: php composer-php hook