问候各位程序员!
有没有办法让PHPs交互式shell php -a
的行为更像Rails控制台或Chrome中的控制台?我已经查看了php命令的标志,但没有骰子。
我得到的:
php > $a = 0;
php > $a;
php > echo $a;
0php >
我想要什么
php > $a = 0;
0
php > $a;
0
php > echo $a;
0
php >
解决这个问题至少有三种可能性:
- 手动将
PHP_EOL
添加到您的所有echo
:echo $a . PHP_EOL
- 在官方的php思想wiki上介绍你的想法,然后等到有人实现它
- 学习外部贡献者的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"。echo
和print
仍然需要手动换行,但裸表达式会被评估并打印出来:
[1] boris> $a = 0;
// 0
[2] boris> $a;
// 0
[3] boris> echo $a;
0[4] boris>