在php交互环境中,如果已经有这样的定义:
function a(){
return 'a';
}
现在我发现原来的写错了,需要改动
function a(){
return 'b';
}
这个时候会报错, Fatal error: Cannot redeclare
如果你定义
$b=1;
再修改一次
$b=2;
php绝不会报错说,b已经被定义了,不可以再次redeclare
请问,把函数设计成不可以redeclare,道理何在?
我看了各位的答复,这个问题实际上是很普遍的,它会带来调试上的麻烦,我不知道各位如何在真实的项目环境中是如何解决的。
清让我们考虑项目场景,你写了一个函数来完成一项功能,一般不会一次就把这个函数写完美了,你需要测试吧。
我们导入它,require('myfun.php'),使用了后,发现要修改,你的打开myfun.php,进行修改,保存修改后,你的关闭上次的php -a环境,重新php -a ,然后再导入require('myfun.php')。
如果不关闭(或者说退出)php -a环境,再次导入修改后的myfun.php,会立即报错:Fatal error: Cannot redeclare。
php语言的这个特性导致调试麻烦,各位有无快捷的方法?
能不能改下格式先?