- 论坛徽章:
- 0
|
转自:http://blog.thinkphp.de/archives/44-More-PHP-power-on-the-command-line.html#comments
假如你在命令行下使用过php, 那么你可能知道用-r选项来执行代码. 这个特征非常棒, 但是很难正确处理"引用". 你需要知道是"单引"或"双引",还有你所使用的shell, 甚至你需要时刻保持对变量的警惕避免出错. 直接在STDIN中写入代码让php执行是件烦人的事情, 假设你想修改前面已写的代码的话. 在这种情况下,你只好把代码写入文件(即使那只有一行 + <?php)运行它. 为了解决这个问题, Marcus和我在php 5.1 cli sapi中加入了新的特征. 我很荣幸能够在这里介绍给大家: PHP交互控制台.
在你编译了PHP(GNU: --with-readline)或者(BSD: --with-libedit)后,你便能够通过使用PHP的-a选项进入这个控制台.
- $ php -a
- Interactive mode enabled
- php >
复制代码
你可以在这里输入些代码,然后得到反馈. 提示符会根据上下文而改变:
- php > $a = 1;
- php > $b = 2;
- php > echo $a + $b;
- 3
- php > function foo() {
- php { echo "foo
- php " bar";
- php { }
- php > foo();
- foo
- bar
- php >
复制代码
但是这并非是我们全部拥有的. 更酷的特征是tab自动完成功能. 就象bash或者mysql控制台下你可以只输入前面几个字母,按下tab便获得可能的完成的单词列表. 目前,我们已经能够做到函数, 常量, 类名, 变量, 静态方法调用和类常量的自动完成. 目前我在进行对象方法和属性的自动完成工作.
目前自动完成尚有一些限制, 比如对于变量或对象, 它只能在先前行定义并执行后才会自动完成, 并不能在单行多次使用或在一个函数内很好地工作. 但是大多数情况下,它能避免我们打印很多字母.
请随意测试, 并给我们反馈意见.
--johannes
偶的php版本是5.0, 使用-a选项似乎和介绍有点不同.
则这里需要<?php开始.
- [yarco@China x]$ php -a
- Interactive mode enabled
- <?php
- print PHP_OS;
- Linux
- print_r($_POST);
- Array
- (
- )
- [yarco@China x]$ php -v
- PHP 5.0.4 (cli) (built: May 9 2005 11:21:11)
- Copyright (c) 1997-2004 The PHP Group
- Zend Engine v2.0.4-dev, Copyright (c) 1998-2004 Zend Technologies
- [yarco@China x]$
复制代码
偶翻译的不是很滥吧???
[ 本帖最后由 HonestQiao 于 2006-6-9 18:28 编辑 ] |
|