2017-03-23 4 views
1

Ich habe gerade angefangen mit Laravel Rahmen zu spielen, und ich habe gesehen:Wie funktioniert Routing in PHP Laravel?

Route::get('foo', function() { 
    return 'Hello World'; 
}); 

Kann jemand bitte erklären, was das ist? Ich meine über alles, was ich weiß, was zu bekommen ist. aber warum stellen wir 'foo' und dann die Schließung, die wir setzen? Woher bekomme ich wirklich die Informationen?

Antwort

2

Zuerst deklarieren wir die Fassade der Route, denken Sie wie eine Abkürzung, um die Route-Klasse zu verwenden.

Danach wählen wir die Methode der Route, könnte es sein:

Route::get($uri, $callback); //get 
Route::post($uri, $callback); //post 
Route::put($uri, $callback); //put 
Route::patch($uri, $callback); //patch 
Route::delete($uri, $callback); //delete 

Jetzt können Sie die URL der Seite wählen, zum Beispiel:

Wenn Sie Ziffer im Browser:

www.foobar.com/user/profile

Laravel für die Route mit dem user/profile Parameter suchen, wie folgt aus:

Route::get('user/profile', function() { 
    return 'Hello World'; 
}); 

Sie können Variablen zu übergeben,

Route::get('user/{id}', function() { 
    return 'Hello World'; 
}); 

Danach werden Sie die Callback-Methode wählen, in anderen Worten, was passieren wird, wenn die Laravel in der Route ein.

In Ihrem Beispiel haben Sie die Funktion Beispiel, nur eine einfache "Hallo Welt" zurückgeben.

Die beste pratice hier ist eine Steuerung zu schaffen

php artisan make:controller FoobarController --resource 

Und referece zu jeder Methode des Controllers

Route::get('user/profile', '[email protected]'); 

Wenn nun der Laravel die Route finden, um es zu der Umleitung geht Index-Methode des Foobar-Controllers, und dort definieren Sie Ihre Logik

1

Furstig, lesen Sie die documentation, es ist super einfach, auch für die Anfänger.

Schritt für Schritt:

get ist die HTTP Methode, die Sie auf dieser speziellen Strecke verwenden. Die andere am häufigsten verwendete ist POST, aber es gibt mehr von ihnen.

foo ist die Route, in diesem Fall wird: www.example.com\foo. Sie können einen beliebigen Namen eingeben, wie Sie wollen und brauchen.

Als zweiter Parameter für eine Route Fassade geben Sie den Abschluss/den Namen des Controllers/Views ein, den Sie mit dem Endpunkt bearbeiten möchten, z.

Route::get('foo', '[email protected]'); 


Route::get('foo', function(){ 
    return view('some.view'); 
}; 

Es gibt viel mehr Möglichkeiten in Routing und sie sind nicht schwer zu verstehen, nur noch einen Blick auf Dokumentation oder einige Video-Tutorials.