php shell

本文要讲的php shell并非是使用php来写shell脚本,而是讲一个php的REPL的交互式shell。所谓REPL,也就是read-eval-print-loop,也就是说,shell读入一个指令,计算,然后输出结果,常见的有Python、Ruby的IRB等。

对于PHP,我们常常会写一个test.php,然后放入一些自己的代码,再打开浏览器检验一下,如果不对,又要重新修改代码,非常麻烦。交互式shell的好处就可以体现出来了,输入指令之后可以立刻看到执行代码的结果,所以非常适合用来检验代码片段(snippets)的正确性以及进行一些试验。

PHP本身自带一个交互式的shell,在命令行中输入php -i,便可以交互式运行,但要先输入一个php脚本的起始标签,但是该shell遇到异常的时候会直接退出,非常不方便。那么我找到一个非常接近于REPL的交互式shell便是php-shell


1. 安装

php-shell要求php 5.0以上版本

下载PHP_Shell-0.3.1.tgz

运行pear install PHP_Shell-0.3.1.tgz

如果确保pear已经安装,并在你的PATH路径中

2. 使用方法

在命令行下输入php-shell(Linux为php-shell.sh)进入交互式命令行:

这时候我们可以输入我们所需的表达式了,在php-shell中直接输入变量名,它也可以将内容直接打印出来:

当出现异常时,php-shell也会打印出异常的内容。
你可以使用exit退出。

3. Tab补全

php-shell一个强大的功能是支持补全,以下内容可以被补全:

  • new 类名()
  • 类名::方法名()
  • 类名::常量名
  • $变量名
  • 函数名()
  • $object->方法名()

请先输入第一个字符然后按TAB按钮。如果只有一种匹配,它便会直接补全名称,否则,再按一次TAB会列出所有的可能性。

如果你想查看所有已声明的类,你可以使用 getdeclaredclasses():

4. 总结

如果是php新手,希望php-shell能帮你快速掌握php。老手也可以用其来检验代码段。

除此之外,也可以尝试一下基于Web页面的php shell,如http://phpshell.sf.net/

“php shell”的一个回复

发表评论

电子邮件地址不会被公开。 必填项已用*标注