使用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!
>>>
答案 0 :(得分:3)
如果您使用的是PHP 5.3或更高版本,则可以执行以下操作
$func = function(){ echo "Foo"; };
$func(); //to execute
$func = function(){ echo "Bar"; };
$func(); // will echo Bar
答案 1 :(得分:-1)
参见此功能导向编程 http://www.php.net/manual/en/function.override-function.php
面向对象,只需在子类中声明函数并使用它!
希望它有用...
祝你好运!