+ -
当前位置:首页 → 问答吧 → 介绍php shell

介绍php shell

时间:2008-07-05

来源:互联网

http://shiningray.cn/php-shell.html

本文要讲的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 - Version 0.3.1, with readline() support
(c) 2006, Jan Kneschke <[email protected]>

>> use '?' to open the inline help

>>
这时候我们可以输入我们所需的表达式了,在php-shell中直接输入变量名,它也可以将内容直接打印出来:
>> $a = new ArrayObject( )
ArrayObject::__set_state(array(
))
>> $a->
__construct(
append(
count(
exchangeArray(
getArrayCopy(
getFlags(
getIterator(
getIteratorClass(
offsetExists(
offsetGet(
offsetSet(
offsetUnset(
setFlags(
setIteratorClass(
>> $a->append( 'a' )

>> $a->count( )
1
>> $a->offsetGet( 0 )
'a'3. Tab补全
php-shell一个强大的功能是支持补全,以下内容可以被补全:
  • new 类名()
  • 类名::方法名()
  • 类名::常量名
  • $变量名
  • 函数名()
  • $object->方法名()
请先输入第一个字符然后按TAB按钮。如果只有一种匹配,它便会直接补全名称,否则,再按一次TAB会列出所有的可能性。
如果你想查看所有已声明的类,你可以使用 getdeclaredclasses():
>> get_<TAB>
>> get_<TAB><TAB>
get_browser(
...
get_declared_classes(
...
get_resource_type(
>> get_dec<TAB>
>> get_declared_<TAB><TAB>
get_declared_classes(
get_declared_interfaces(
get_defined_constants(
get_defined_functions(
get_defined_vars(
>> get_declared_classes( )
4. 总结
如果是php新手,希望php-shell能帮你快速掌握php。老手也可以用其来检验代码段。
除此之外,也可以尝试一下基于Web页面的php shell,如http://phpshell.sf.net/

搜索更多相关主题的帖子: php

作者: ShiningRay   发布时间: 2008-07-04

引用:
原帖由 haoguo882 于 2008-7-5 16:47 发表
你太幸运了,我刚来就搜到你的帖子了,嘿嘿
帮你顶一下,记得以后不要发这么恶心的帖子拉

我还是北大请鸟的学生呢,  有时间想作个斑竹  
“恶心的帖子“?

作者: PHPChina   发布时间: 2008-07-05

哦,我明白了,2楼是来做广告的

对你做3个俯卧撑

作者: ShiningRay   发布时间: 2008-07-05

作者: ShiningRay   发布时间: 2008-07-07

热门下载

更多