【发布时间】:2014-02-24 12:46:24
【问题描述】:
在使用 PHP CLI 解释器时,如何重新定义有错误的函数。例如,这里的原始函数声明缺少换行符,我想修复它:
$ php -a
Interactive shell
php > function drinkBeer(){
php { echo "Carlsburg";
php { }
php >
php > drinkBeer();
Carlsburgphp >
php >
php > function drinkBeer(){
php { echo "Carlsburg" . PHP_EOL;
php { }
PHP Fatal error: Cannot redeclare drinkBeer() (previously declared in php shell code:2) in php shell code on line 3
php >
我们看到类似的问题问how to redefine a function when running a PHP script 但是没有一个类似的问题涉及在 PHP CLI 解释器上重新定义函数的问题。
例如,Python 解释器允许这样做:
$ python3
>>> def drinkBeer():
... print('Carlsburg')
...
>>> drinkBeer()
Carlsburg
>>>
>>> def drinkBeer():
... print("You've had enough!")
...
>>> drinkBeer()
You've had enough!
>>>
【问题讨论】:
-
为什么解释器很重要?语言是相同的,您根本无法访问像
$_SERVER['HTTP_HOST']这样的 HTTP 内容。 -
如果您有可能犯错误,请不要使用
-a选项。将 php 代码保存到文件中,例如test.php并像这样运行它php test.php。 -
使用向上和向下箭头编辑之前插入的代码。
-
@RiggsFolly:考虑到犯错的可能性是
E = 1/2 m v^2而我有太多m,所以我犯了很多错误! -
我们都这样做。我并不是说只有你犯了错误,只是如果你不必每次都编写 100% 的脚本,那么更容易修复它们!
标签: php command-line-interface