Name der PHP7-Konstruktorklasse

Ich habe eine Laravel 4.2-Anwendung, die problemlos mit PHP5 funktioniert. Seit ich eine neue vagrant-Box mit PHP7 installiert habe, erscheint ein Fehler, sobald ich ein Modell mit dem Namen einer Funktion und dem Klassennamen (Beziehungsfunktion) wie folgt ausführe:

<?php

use Illuminate\Database\Eloquent\SoftDeletingTrait;

class Participant extends \Eloquent
{

    use SoftDeletingTrait;

    [...]

    public function participant()
    {
        return $this->morphTo();
    }

    [...]    

}

Ich erhalte die folgende Fehlermeldung:

Methods mit demselben Namen wie ihre Klasse werden in einer zukünftigen Version von PHP keine Konstruktoren sein. Teilnehmer hat einen veralteten Konstruktor (Ansicht: ...)

So was ich bis heute nicht wusste ist, dass in PHP4 gleichnamige Methoden der Konstruktor einer Klasse waren. Hmm. Ich bin wirklich ein schlechter Programmierer ... Aber in diesem Fall korrigieren sie nach meinem Verständnis der Vorgänge in PHP7 einen meiner Fehler, da ich diese Funktion nie als Konstruktor verwenden wollte, da sie nur eine eloquente Beziehung definiert.

Aber wie kann ich diese Nachricht loswerden? So wie ich das verstehe, war mein Code in PHP4 fehlerhaft, aber nicht in PHP7, oder? Falls nicht erforderlich, möchte ich diese Funktion nicht umgestalten, da sie an mehreren Stellen verwendet wird.

ann jemand erklären, was ich falsch mache und warum es mit älteren PHP-Versionen funktioniert ha

Vielen Dank

Antworten auf die Frage(4)

Ihre Antwort auf die Frage