我在具有 php 版本 4 的服务器上有一个脚本。现在它已更改为 php5,并且该脚本不再起作用。我收到此错误:
致命错误:无法在 URL database.php 第 88 行重新分配 $this
文件中有一个具有功能的类。里面是第88行:
$this = new $db( $serv, $user, $pass, $dbName );
错误是什么意思,我该如何更改?
$this
是一个特殊的“变量”,它总是引用当前函数正在执行的对象。它只在属于一个类的函数内部才有意义;但是,您不得在其他任何地方使用它,并且您可能永远不会分配给它。解决方案只是重命名变量。
您可以通过变量变量重新分配 $this 值
$name = 'this';
$$name = 'stack';
echo $this;
// 这将导致堆栈
$this
是一个保留的变量名,不能手动赋值。
该类正在尝试重新定义自己(this
php 中的 $ 与 C# 中的相同this
)并且无法完成。您应该更改$this
为其他内容,然后错误应该消失。
$this是 PHP 中的预定义变量。
这是 PHP 手册中的参考:类和对象:基础知识。它描述了在方法内部,$this 如何指向正在被操作的“这个对象”。但是,它仍然保留在方法之外。
将标识符更改为另一个词。