繁体   English   中英

PHP 交互式 shell、自动回显和新行

[英]PHP interactive shell, auto echo and a new line

问候各位程序员!

有没有办法让 PHP 的交互式外壳php -a表现得更像 Rails 控制台或 Chrome 中的控制台? 我查看了 php-command 的标志,但没有骰子。

我得到什么:

php > $a = 0;
php > $a;
php > echo $a;
0php > 

我想要的是

php > $a = 0;
0
php > $a;
0
php > echo $a;
0
php > 

你至少有三种可能性来解决这个问题:

  1. 手动将PHP_EOL添加到所有echoecho $a . PHP_EOL echo $a . PHP_EOL ;
  2. 在官方php 想法 wiki上介绍你的想法,然后等到有人实现它。
  3. 了解外部贡献者的 php git 工作流程,创建所需的功能并将补丁发送给开发人员。

截至 2022 年, PsySH似乎是针对所提问题的现代维护的有效解决方案:

Psy Shell v0.11.5 (PHP 7.4.3 — cli) by Justin Hileman
>>> $a = 0
=> 0

>>> $a
=> 0

>>> echo $a
0⏎

更重要的是:

  • 如上所示,分号是可选的
  • echo表达式的输出略有不同
  • 在代码库的任何地方放置一条eval语句就足以设置由该 REPL 提供支持的断点

查看Boris ,描述为“PHP 缺少REPL ”。 echoprint仍然需要手动换行,但裸表达式被评估和打印:

[1] boris> $a = 0;
// 0
[2] boris> $a;
// 0
[3] boris> echo $a;
0[4] boris>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM