2017-02-03 2 views
1

Ich habe ein Modell in meinem Laravel-Projekt und setzen Konstruktor-Funktion in dort aber jemand sagte mir, es gibt eine vorgefertigte Konstrukteur-Methode in Laravel eloquent.Konstruktor in Laravel Modell erweitert eloquent

Bedeutet es, dass das Erstellen meines __constructor() den vorliegenden Konstruktor überschreibt, der irgendwo versteckt ist?

Antwort

0

können Sie immer rufen die Eltern Konstruktor in Ihrem Konstruktor:

class MyModel extends Eloquent { 

    function __construct() { 
      parent::__construct(); 
    } 
} 

edit: dies wird den folgenden Konstruktor rufen Sie https://github.com/illuminate/database/blob/v4.2.17/Eloquent/Model.php#L243

Manchmal möchten Sie Ihren eigenen Code, bevor die Mutter anrufen Konstruktor Anruf und manchmal nach, ich hoffe, dass dieser Link hilft festzustellen, welche von 2 Situationen am besten Ihren Bedürfnissen entspricht!

+0

Vielen Dank! Aber dieses Eltern-Konstrukt wird immer automatisch beim Erstellen eines Objekts verwendet, ohne es selbst aufzurufen, richtig? – divHelper11

+1

Normalerweise ja, aber Sie überschreiben es, sobald Sie Ihren eigenen Konstruktor schreiben, deshalb. Gleiches gilt für andere Funktionen mit exakt demselben Namen. http://stackoverflow.com/questions/2994758/what-is-function-overloading-and-overriding-in-php –

+1

Vielen Dank! – divHelper11

Verwandte Themen