PHP7 构造函数类名
我有一个Laravel 4.2应用程序,它可以与PHP5一起使用,没有任何问题。由于我安装了一个运行 PHP7 的新 vagrant box,因此一旦我运行一个函数名称与类名(关系函数)相同的模型,就会出现错误,如下所示:
<?php
use Illuminate\Database\Eloquent\SoftDeletingTrait;
class Participant extends \Eloquent
{
use SoftDeletingTrait;
[...]
public function participant()
{
return $this->morphTo();
}
[...]
}
我收到以下错误消息:
与其类同名的方法在未来版本的PHP中不会是构造函数;参与者具有已弃用的构造函数 (查看: ...)
所以直到今天我才知道, 在 PHP4 中,同名的方法就是一个类的构造函数。嗯。我真的是一个糟糕的程序员...但是在这种情况下,根据我对PHP7中发生的事情的理解,他们纠正了我的一个失败,因为我从来不想使用这个函数作为构造函数,因为它只定义了一个雄辩的关系。
但是我该如何摆脱此消息?据我所知,在PHP4中,我的代码是错误的,但在PHP7中却没有,对吧?如果没有必要,我不想重构这个函数,因为它在几个地方使用。
任何人都可以解释我做错了什么,以及为什么它适用于较旧的PHP版本?
谢谢!