uma/composer-psysh

无装饰的PsySH-Composer插件

安装次数: 2,716

依赖者: 0

建议者: 0

安全: 0

星标: 18

关注者: 1

分支: 1

开放问题: 0

类型:composer-plugin

v0.3.0 2024-02-08 23:26 UTC

This package is auto-updated.

Last update: 2024-09-09 00:53:34 UTC


README

一个无装饰的PsySH-Composer插件。

简而言之,它提供了一个 composer shell 子命令,当适用时,会启动一个集成了自动加载功能的 Psy Shell

composer-psysh in action

安装

此包旨在作为您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 replcomposer psy

uma/composer-psyshramsey/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环境