Heim >Backend-Entwicklung >PHP-Tutorial >Laravel 514 Bootstrap 334 Hinweis 4: Laravel Controller
Im vorherigen Artikel haben wir die Anforderungs- und Antwortlogik des Benutzers in das Routing eingefügt. In tatsächlichen Situationen ist dies nicht realistisch und nicht so einfach wie der vorherige Code.
In den meisten Fällen werden Benutzeranforderungsvorgänge im Controller verarbeitet (dies umfasst nicht die Geschäftsverarbeitungslogik).
Alle Laravel-Controller befinden sich im Verzeichnis app/Http/Controllers.
1 Erstellen Sie einen einfachen Controller
1.1 Controller ohne Parameter
Erstellen Sie eine neue Datei HomeController.php im Verzeichnis app/Http/Controllers mit dem folgenden Code:
<?php namespace App\Http\Controllers; use App\Http\Controllers\Controller; class HomeController extends Controller { public function hw() { return view('hw'); } }
<html> <body> Hello World! </body> </html>
<?php Route::get('/', function () { return view('welcome'); }); Route::get('/hw', 'HomeController@hw');
1.2 Controller übergibt Parameter an die Ansicht
Wenn der Controller Parameter an die Ansicht übergeben muss, geschieht dies wie folgt: Ändern Sie die HW-Methode des Controller:
public function hw() { return view('hw',['name'=>'CBW']); }Ändern Sie den Seitencode von hw.php:
<html> <body> [<?php echo $name; ?>],您好! </body> </html>Besuchen Sie erneut wie folgt:
1.3 Der Controller liest Parameter von der Route und übergibt sie
Wenn der Controller Parameter von der Route abrufen muss, geht das wie folgt vor: Ändern Sie die Route oben dargestellt Code-Snippet:
Route::get('/hw/{name}', 'HomeController@hw');Ändern Sie die HW-Methode des Controllers:
public function hw($name) { return view('hw',['name'=>$name]); }Dann besuchen Sie erneut: http://localhost:801/hw/calvin, wie unten gezeigt:
2 Router im Detail
2.1 Controller und Namespace
Im Allgemeinen besteht ein Anwendungssystem aus mehreren Teilprojekten, Beispielsweise verfügt eine Website über ein Frontend und ein Backend. Das Frontend verfügt über eine Nachrichtenfunktion zum Lesen und das Backend über eine Nachrichtenfunktion zur Verwaltung.
Jetzt gehen wir davon aus, dass wir ein Websystem entwickeln, das zwei Module enthält: ein normales Benutzermodul (Visit) und ein Systemverwaltungsmodul (Manage).
A. Erstellen Sie zwei Unterverzeichnisse für Modulcontroller im Verzeichnis „app/Http/Controllers“: „Besuchen“ und „Verwalten“; B. Erstellen Sie zwei Unterverzeichnisse unter „Ressourcen/Ansichten“ und erstellen Sie ein Unterverzeichnis unter Visit: Home;
C. Verschieben Sie den im obigen Beispiel erstellten HomeController in den im vorherigen Schritt erstellten Visit. Der geänderte Code lautet wie folgt:
D. Ändern Sie das Codesegment „routes.php“ wie folgt:<?php namespace App\Http\Controllers\Visit; use App\Http\Controllers\Controller; class HomeController extends Controller { public function hw($name) { return view('Visit.Home.hw',['name'=>$name]); } }
E. Verschieben Sie die Ansichtsdatei hw.php nach resources/views/Visit/Home ;
Besuchen Sie jetzt noch einmal: http://localhost:801/hw/calvin, es ist immer noch korrekt.Route::get('/hw/{name}', 'Visit\HomeController@hw');2.2 Controller-Middleware
Im vorherigen Artikel haben wir die Verwendung von Middleware demonstriert:
Tatsächlich können wir auch Processed in steuern Konstrukteur des Gerätes:Route::get('/user/{age}', ['middleware' => 'my', function ($age) { return '用户年龄:'.$age; }]);
class UserController extends Controller { public function __construct() { $this->middleware('my'); } }Urheberrechtserklärung: Dieser Artikel ist ein Originalartikel des Bloggers und darf nicht ohne die Erlaubnis des Bloggers reproduziert werden.
Das Obige stellt Laravel 514 Bootstrap 334 Hinweis 4 vor: Laravel-Controller, einschließlich einiger Aspekte des Inhalts. Ich hoffe, dass es für Freunde hilfreich ist, die sich für PHP-Tutorials interessieren.