uma / composer-psysh
无装饰的PsySH-Composer插件
Requires
- php: ^7.4||^8.0
- composer-plugin-api: ^1.0||^2.0
- psy/psysh: ~0.12
Requires (Dev)
- composer/composer: ^2.0
This package is auto-updated.
Last update: 2024-09-09 00:53:34 UTC
README
一个无装饰的PsySH-Composer插件。
简而言之,它提供了一个 composer shell
子命令,当适用时,会启动一个集成了自动加载功能的 Psy Shell。
安装
此包旨在作为您Composer安装的全局需求使用
$ composer global require uma/composer-psysh
或者,它可以作为每个项目的开发依赖项使用。请注意,在这种情况下,shell
子命令将仅可在项目根目录中可用。
$ composer require --dev uma/composer-psysh
Composer 2.2及更高版本
从版本2.2.0开始,Composer要求在composer.json
文件中将插件列入白名单。在更新到+2.2后,您第一次运行composer shell
时,它将询问您是否要将插件添加到allow-plugins
配置部分。您需要回答是。
$ composer shell
uma/composer-psysh contains a Composer plugin which is currently not in your allow-plugins config. See https://getcomposer.org.cn/allow-plugins
Do you trust "uma/composer-psysh" to execute code and wish to enable it now? (writes "allow-plugins" to composer.json) [y,n,d,?] y
Psy Shell v0.11.0 (PHP 8.1.0 — cli) by Justin Hileman
Active Autoloaders:
/home/marcel/.config/composer/vendor/autoload.php
>>> "oh well"
使用方法
可以在任何地方运行composer psy
并启动一个通用的REPL。然而,当它在项目根目录中运行时,它将需要vendor/autoload.php
脚本,以便项目类可以快速在shell中使用。
该插件还定义了几个其他别名:composer repl
和composer psy
。
对uma/composer-psysh
和ramsey/composer-repl
的比较
此包受到ramsey/composer-repl
的启发。事实上,它只提供了其功能的一部分。我决定自己编写版本,原因有几个
首先,Ben Ramsey的插件需要PHP 7.4或更高版本,这对我很苛刻。《uma/composer-psysh》允许广泛的PHP版本:从5.5到8.1。这与PsySH和Composer本身允许的版本范围非常相似。
其次,《ramsey/composer-repl》具有将PHPUnit集成到PsySH中的额外功能。因此,它对phpunit/phpunit
有严格依赖。我不愿意被迫与插件一起拉取PHPUnit,尤其是因为我不需要这个功能。
注意事项
目前仅适用于Unix环境