Heim >PHP-Framework >Laravel >Detaillierte Einführung in die Definition und Verwendung von Laravel-Routing

Detaillierte Einführung in die Definition und Verwendung von Laravel-Routing

PHPz
PHPzOriginal
2023-04-03 20:29:01833Durchsuche

Laravel ist ein hervorragendes Framework für PHP und erfreut sich in der heutigen Webentwicklung immer größerer Beliebtheit. Laravel bietet viele praktische Funktionen, eine der wichtigsten Funktionen ist das Routing. Wo sind also die Routen von Laravel definiert? In diesem Artikel werden die Definition und Verwendung des Laravel-Routings ausführlich vorgestellt.

Definition von Routen

Routen in Laravel können auf drei Arten definiert werden: manuell definierte Routen, automatische Routen und RESTful-Routen. Wir werden diese drei Methoden separat vorstellen.

Routen manuell definieren

Die manuelle Definition von Routen ist eine weit verbreitete Methode, mit der wir URIs mit bestimmten URLs definieren können. Laravel erreicht dies durch Methoden in der Klasse Route. Die Klasse Route ist eine globale Hilfsklasse, die viele Routing-bezogene Methoden enthält. Hier implementieren wir ein Beispiel für die Rückgabe von „Hallo Welt“, indem wir Routen manuell definieren. Route类中的方法来实现这一点。 Route类是一个全局的助手类,其包含许多与路由相关的方法。 在这里我们以手动定义路由的方式来实现一个返回"Hello world"的示例。

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

当访问 http://your-app.com/hello时,将会显示"Hello World"的信息。

上面的例子中,我们使用HTTP的GET方法来获取 /hello 的URI,并返回了简单的字符串“Hello World”。除了GET方法外,还有一些其他的HTTP方法,例如POST、PUT、DELETE等,可以根据需求使用。

自动路由

在Laravel中,可以通过使用Route::controller 方法来自动生成路由。该方法将会使用控制器中的方法作为URI来响应访问请求。

Route::controller('/user', 'UserController');

上面的代码定义了一个URI /user,并使用UserController控制器中的方法来处理访问请求。在控制器中,我们可以定义一系列接受URI的函数,这些函数会被自动路由注册。

比如,一个控制器可能被定义为:

class UserController extends Controller
{
    public function getIndex()
    {
        // 返回用户首页
    }

    public function postUser()
    {
        // 处理用户提交的表单数据
    }
}

通过上述定义,当访问 /user URI时,UserControllergetIndex方法将会被调用;而当使用POST方法访问/user/user时,UserControllerpostUser方法将会被调用。

RESTful路由

RESTful路由是一种针对资源进行操作的路由方式。在Laravel中,我们可以使用Route::resource方法自动注册所有的RESTful路由。这种方式是一种非常便利和常用的方式,它可以将一个控制器中的所有RESTful操作集中在一起。

Route::resource('/user', 'UserController');

上述代码将会注册一个名为 /user 的URI,并在UserController中注册名为indexcreatestoreshoweditupdatedestroy的方法。

路由的使用

在Laravel中,我们可以使用路由参数来定义URL并获取URI中的变量信息。我们可以通过在URI中使用大括号包裹参数名的方式,定义一个路由参数。 如下是一个带有路由参数的示例。

Route::get('/user/{id}', function ($id) {
    return 'User ' . $id;
});

在上面的示例中,我们定义了一个名为 id 的路由参数。 当访问 /user/1 时,将会打印输出"User 1";访问 /user/2 时,将会输出"User 2"。

在控制器中,我们也可以通过路由参数接收URI中的变量信息。以下代码展示了其中的方法:

Route::get('/user/{id}', 'UserController@show');

class UserController extends Controller
{
    public function show($id)
    {
        return view('user.show', ['user' => User::findOrFail($id)]);
    }
}

在上述示例中,我们定义了一个被称为 id 的路由参数,并在控制器的show方法中使用它来查询数据库中的用户信息。通过使用findOrFail()rrreee

Beim Zugriff auf http://your-app.com/hello wird die Meldung „Hallo Welt“ angezeigt.

Im obigen Beispiel haben wir die HTTP-GET-Methode verwendet, um den URI von /hello abzurufen, und die einfache Zeichenfolge „Hello World“ zurückgegeben. Neben der GET-Methode gibt es noch einige andere HTTP-Methoden wie POST, PUT, DELETE usw., die je nach Bedarf verwendet werden können.

Automatisches Routing🎜🎜In Laravel können Sie automatisch Routen generieren, indem Sie die Methode Route::controller verwenden. Diese Methode verwendet die Methode im Controller als URI, um auf die Zugriffsanfrage zu antworten. 🎜rrreee🎜Der obige Code definiert einen URI /user und verwendet Methoden im UserController-Controller, um Zugriffsanfragen zu verarbeiten. Im Controller können wir eine Reihe von Funktionen definieren, die URIs akzeptieren, und diese Funktionen werden automatisch weitergeleitet und registriert. 🎜🎜Zum Beispiel kann ein Controller wie folgt definiert werden: 🎜rrreee🎜Mit der obigen Definition wird beim Zugriff auf den /user-URI der getIndex von <code>UserController code> Die Methode wird aufgerufen; und wenn die POST-Methode für den Zugriff auf /user/user verwendet wird, wird die Methode postUser von UserController aufgerufen . 🎜🎜RESTful-Routing🎜🎜RESTful-Routing ist eine Routing-Methode, die mit Ressourcen arbeitet. In Laravel können wir die Methode Route::resource verwenden, um alle RESTful-Routen automatisch zu registrieren. Diese Methode ist eine sehr praktische und häufig verwendete Methode zur Zentralisierung aller RESTful-Vorgänge in einem Controller. 🎜rrreee🎜Der obige Code registriert einen URI namens /user und registriert die Namen index und create in <code>UserController , store, show, edit, update und destroy Methode. 🎜🎜Verwendung von Routing🎜🎜In Laravel können wir Routing-Parameter verwenden, um URLs zu definieren und variable Informationen im URI zu erhalten. Wir können einen Routing-Parameter definieren, indem wir den Parameternamen im URI in geschweifte Klammern setzen. Nachfolgend finden Sie ein Beispiel mit Routing-Parametern. 🎜rrreee🎜Im obigen Beispiel haben wir einen Routenparameter namens id definiert. Beim Zugriff auf /user/1 wird „Benutzer 1“ gedruckt; beim Zugriff auf /user/2 wird „Benutzer 2“ gedruckt. 🎜🎜Im Controller können wir über Routing-Parameter auch variable Informationen im URI erhalten. Der folgende Code zeigt die Methode: 🎜rrreee🎜Im obigen Beispiel definieren wir einen Routing-Parameter namens id und verwenden ihn in der show-Methode des Controllers, um Benutzerinformationen im abzufragen Datenbank. Durch die Verwendung der Methode findOrFail() ist es sehr praktisch, mit Situationen umzugehen, in denen der Benutzer nicht existiert. Gleichzeitig können wir die abgefragten Benutzerinformationen zur Anzeige und Verwendung an die Ansicht übergeben. 🎜🎜Zusammenfassung🎜🎜Routing ist eine sehr wichtige und häufig verwendete Funktion in Laravel, mit der die Beziehung zwischen URIs und Controllern einfach definiert werden kann. Mit Routing-Parametern, RESTful-Routing usw. können wir problemlos auf bestimmte Ressourcen zugreifen und die Bedienung wird sehr komfortabel. Die Beherrschung der Definition und Verwendung des Laravel-Routings kann die Effizienz unserer Webentwicklung und Codequalität erheblich verbessern. 🎜

Das obige ist der detaillierte Inhalt vonDetaillierte Einführung in die Definition und Verwendung von Laravel-Routing. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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