介绍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一个强大的功能是支持补全,以下内容可以被补全:
如果你想查看所有已声明的类,你可以使用 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 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->方法名()
如果你想查看所有已声明的类,你可以使用 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个俯卧撑
对你做3个俯卧撑
作者: ShiningRay 发布时间: 2008-07-05

作者: ShiningRay 发布时间: 2008-07-07
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28