2017-09-04 1 views
0

Beispiel unten:Die Reihenfolge der Aufruffunktionen in Laravel-Route?

Route::get('users/{id}', function ($id) { 
    //code 
})->where('id', '[0-9]+'); 

Die anonyme Funktion wird zuerst oder „where“ Funktion zuerst aufgerufen wird aufgerufen werden?

Meiner Meinung nach, ich denke, die anonyme Funktion wird zuerst aufgerufen werden. Aber ich denke, das ist nicht vernünftig, ich denke, es ist vernünftig, dass nur die ID die regulären Ausdrücke erfüllen kann die anonyme Funktion aufrufen.

Also welche Sequenz ist es genau?

+0

@SariYono was redest du? Er spricht über Routen, nicht beredt. – Wreigh

+0

meine schlechte ich denke, es war zu spät am Abend. –

Antwort

0

Die where wird zuerst ausgeführt.

Warum?

Die Funktion get gibt eine object sowie die where zurück. Wenn also Laravel diese Route anruft, wird das Route-Objekt zuerst erstellt, bevor die Route-Aktionen ausgelöst werden.

$obj = Route::get() // returns an object, meaning that object returned has a function `where`. 

$obj->where() // still returns the same object but validated. 

So haben Sie ein Objekt nach dem where Anruf. Das ist es, was Laravel benutzt, um eine Aktion auf dieser Route durchzuführen.

Like: performRoute($obj) // this is only for example

Sie können die Routen Funktionen hier eine Bewertung https://github.com/laravel/framework/blob/bd352a0d2ca93775fce8ef02365b03fc4fb8cbb0/src/Illuminate/Routing/Route.php

Verwandte Themen