Heim >PHP-Framework >Laravel >Detaillierte Einführung in die Definition und Verwendung von Laravel-Routing
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.
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.
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时,UserController
的getIndex
方法将会被调用;而当使用POST方法访问/user/user
时,UserController
的postUser
方法将会被调用。
RESTful路由是一种针对资源进行操作的路由方式。在Laravel中,我们可以使用Route::resource
方法自动注册所有的RESTful路由。这种方式是一种非常便利和常用的方式,它可以将一个控制器中的所有RESTful操作集中在一起。
Route::resource('/user', 'UserController');
上述代码将会注册一个名为 /user
的URI,并在UserController
中注册名为index
、create
、store
、show
、edit
、update
和destroy
的方法。
在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
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!