Heim >Backend-Entwicklung >PHP-Tutorial >Laravel 514 Bootstrap 334 Hinweis 4: Laravel Controller

Laravel 514 Bootstrap 334 Hinweis 4: Laravel Controller

WBOY
WBOYOriginal
2016-07-30 13:31:41952Durchsuche

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(&#39;hw&#39;);
    }
}

Erstellen Sie eine neue Ansicht hw.php unter Ressourcen/Ansichten mit folgendem Inhalt:
<html>
<body>
Hello World!
</body>
</html>

Routen.php ändern. Der geänderte Code lautet wie folgt:
<?php

Route::get(&#39;/&#39;, function () {
    return view(&#39;welcome&#39;);
});

Route::get(&#39;/hw&#39;, &#39;HomeController@hw&#39;);

Öffnen Sie den Browser und besuchen Sie: http://localhost:801/hw, wie unten gezeigt:


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(&#39;hw&#39;,[&#39;name&#39;=>'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(&#39;Visit.Home.hw&#39;,[&#39;name&#39;=>$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;  
}]);  

Darüber hinaus gibt es implizite Controller, RESTful, Route Cache usw., die später hinzugefügt werden.
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.

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn