routage
routage
- Basique route
- Paramètres d'itinéraire
- Routage nommé "Groupe de routes"
- Liaison de modèle de routage Définir
- liaison implicite
- liaison explicite
- routage de repli
- limite de fréquence
méthode de formulaire fausse- Routage de base
- Construire un la route de base ne nécessite qu'un URI et un , voici une manière très simple et élégante de définir une route :
Route::get('foo', function () { return 'Hello World'; });
Fichiers de routage par défaut
Toutes les routes Laravel sont définies dans les fichiers de routage du répertoire routes
, et ces fichiers sont automatiquement chargés par le framework. Le fichier routes/web.php
est utilisé pour définir les routes pour l'interface web
. Les routes ici seront attribuées au groupe middleware web
, qui fournit des fonctions telles que l'état de session et la protection CSRF. Les routes définies dans routes/api.php
sont sans état et affectées au groupe middleware api
. routes
目录中的路由文件中定义,这些文件都由框架自动加载。routes/web.php
文件用于定义 web
界面的路由。这里面的路由都会被分配给 web
中间件组,它提供了会话状态和 CSRF 保护等功能。定义在 routes/api.php
中的路由都是无状态的,并且被分配了 api
中间件组。
大多数的应用构建,都是以在 routes/web.php
文件定义路由开始的。可以通过在浏览器中输入定义的路由 URL 来访问 routes/web.php
中定义的路由。例如,你可以在浏览器中输入 http://your-app.dev/user
来访问以下路由
Route::get('/user', 'UserController@index');
routes/api.php
文件中定义的路由通过 RouteServiceProvider
被嵌套到一个路由组里面。在这个路由组中,会自动添加 URL 前缀 /api
到此文件中的每个路由,这样你就无需再手动添加了。你可以在 RouteServiceProvider
类中修改此前缀以及其他路由组选项。
可用的路由方法
路由器允许你注册能响应任何 HTTP 请求的路由:
Route::get($uri, $callback); Route::post($uri, $callback); Route::put($uri, $callback); Route::patch($uri, $callback); Route::delete($uri, $callback); Route::options($uri, $callback);
有的时候你可能需要注册一个可响应多个 HTTP 请求的路由,这时你可以使用 match
方法,也可以使用 any
方法注册一个实现响应所有 HTTP 请求的路由:
Route::match(['get', 'post'], '/', function () { // }); Route::any('foo', function () { // });
CSRF 保护
指向 web
路由文件中定义的 POST
、PUT
或 DELETE
路由的任何 HTML 表单都应该包含一个 CSRF 令牌字段,否则,这个请求将会被拒绝。可以在 CSRF 文档 中阅读有关 CSRF 更多的信息:
<form method="POST" action="/profile"> @csrf ... </form>
重定向路由
如果要定义重定向到另一个 URI 的路由,可以使用 Route::redirect
方法。这个方法可以快速的实现重定向,而不再需要去定义完整的路由或者控制器:
Route::redirect('/here', '/there');
Route::redirect
默认会返回状态码 302
。 你可以通过第三个参数自定义返回码:
Route::redirect('/here', '/there', 301);
你也可以使用 Route::permanentRedirect
方法来返回 301
routes/web.php
. Les routes définies dans routes/web.php
sont accessibles en entrant l'URL de la route définie dans un navigateur. Par exemple, vous pouvez saisir http://your-app.dev/user
dans votre navigateur pour accéder aux routes suivantes Route::permanentRedirect('/here', '/there');définies dans le
routes/api.php
Les routes de fichier sont imbriquées dans un groupe de routage via RouteServiceProvider
. Au sein de ce groupe de routes, le préfixe d'URL /api
est automatiquement ajouté à chaque route de ce fichier afin que vous n'ayez pas à l'ajouter manuellement. Vous pouvez modifier ce préfixe et d'autres options de groupe de routage dans la classe RouteServiceProvider
. Route::view('/welcome', 'welcome'); Route::view('/welcome', 'welcome', ['name' => 'Taylor']);🎜Parfois, vous devrez peut-être enregistrer une route qui peut répondre à plusieurs routes A pour les requêtes HTTP. Dans ce cas, vous pouvez utiliser la méthode
match
, ou vous pouvez utiliser la méthode any
pour enregistrer une route qui répond à toutes les requêtes HTTP : 🎜Route::get('user/{id}', function ($id) { return 'User '.$id; });
POST
, PUT
ou tel que défini dans le fichier de route web
. Tout formulaire HTML routé par >DELETE
doit contenir un champ de jeton CSRF, sinon la requête sera rejetée. Vous pouvez en savoir plus sur CSRF dans la documentation CSRF : 🎜Route::get('posts/{post}/comments/{comment}', function ($postId, $commentId) { // });🎜🎜🎜
Redirection routes
🎜Si vous souhaitez définir une route qui redirige vers un autre URI, vous pouvez utiliser la méthodeRoute::redirect
. Cette méthode peut rapidement implémenter la redirection sans avoir à définir une route ou un contrôleur complet : 🎜Route::get('user/{name?}', function ($name = null) { return $name; }); Route::get('user/{name?}', function ($name = 'John') { return $name; });🎜
Route::redirect
renverra le code d'état 302
par défaut. Vous pouvez personnaliser le code retour via le troisième paramètre : 🎜Route::get('user/{name}', function ($name) { // })->where('name', '[A-Za-z]+'); Route::get('user/{id}', function ($id) { // })->where('id', '[0-9]+'); Route::get('user/{id}/{name}', function ($id, $name) { // })->where(['id' => '[0-9]+', 'name' => '[a-z]+']);🎜 Vous pouvez également utiliser la méthode
Route::permanentRedirect
pour renvoyer le code d'état 301
: 🎜/** * 定义你的路由模型绑定, pattern 过滤器等。 * * @return void */ public function boot(){ Route::pattern('id', '[0-9]+'); parent::boot(); }🎜🎜🎜 🎜 🎜🎜
Afficher le routage
Si votre itinéraire doit uniquement renvoyer une vue, vous pouvez utiliser la méthode Route::view
. C'est tout aussi pratique que redirect
et ne nécessite pas de définir une route ou un contrôleur complet. La méthode view
a trois paramètres, dont le premier est obligatoire et est l'URI contenant le nom de la vue. Le deuxième paramètre obligatoire est le nom de la vue qui doit être restituée. Le troisième paramètre est un paramètre facultatif. Vous pouvez transmettre un tableau et les données du tableau seront transmises à la vue :Route::view
方法。它和 redirect
一样方便,不需要定义完整的路由或控制器。view
方法有三个参数,其中第一个是必填参数,是包含视图名称的 URI 。第二个也是必填参数,是需要渲染的视图名称。第三个参数是可选参数,可以传入一个数组,数组中的数据会被传递给视图:
Route::get('user/{id}', function ($id) { // 只有在 id 为数字时才执行。 });
路由参数
必填参数
当然,有时需要在路由中捕获一些 URL 片段。例如,从 URL 中捕获用户的 ID,可以通过定义路由参数来执行此操作:
Route::get('search/{search}', function ($search) { return $search; })->where('search', '.*');
也可以根据需要在路由中定义多个参数:
Route::get('user/profile', function () { // })->name('profile');
路由的参数通常都会被放在 {}
内,并且参数名只能为字母,同时路由参数不能包含 -
符号,如果需要可以用下划线 (_
) 代替。路由参数会按顺序依次被注入到路由回调或者控制器中,而不受回调或者控制器的参数名称的影响。
可选参数
有时,你可能需要指定一个路由参数,但你希望这个参数是可选的。你可以在参数后面加上 ?
标记来实现,但前提是要确保路由的相应变量有默认值
Route::get('user/profile', 'UserProfileController@show')->name('profile');
正则表达式约束
你可以使用路由实例上的 where
方法约束路由参数的格式。where
方法接受参数名称和定义参数应如何约束的正则表达式:
// 生成 URL... $url = route('profile'); // 生成重定向... return redirect()->route('profile');
全局约束
如果你希望某个具体的路由参数都遵循同一个正则表达式的约束,就使用 pattern
方法在 RouteServiceProvider
的 boot
方法中定义这些模式:
Route::get('user/{id}/profile', function ($id) { // })->name('profile'); $url = route('profile', ['id' => 1]);
一旦定义好之后,便会自动应用这些规则到所有使用该参数名称的路由上:
/** * 处理一次请求。 * * @param \Illuminate\Http\Request $request * @param \Closure $next * @return mixed */ public function handle($request, Closure $next){ if ($request->route()->named('profile')) { // } return $next($request); }
编码正斜杠字符
Laravel 路由组件允许除 /
之外的所有字符。你必须使用 where
条件正则表达式显式地允许 /
Route::middleware(['first', 'second'])->group(function () { Route::get('/', function () { // // 使用 first 和 second 中间件 }); Route::get('user/profile', function () { // // 使用 first 和 second 中间件 }); });
Paramètres de routage
Route::namespace('Admin')->group(function () { // 在 "App\Http\Controllers\Admin" 命名空间下的控制器 });🎜 Vous pouvez également définir plusieurs paramètres dans l'itinéraire selon vos besoins : 🎜
Route::domain('{account}.myapp.com')->group(function () { Route::get('user/{id}', function ($account, $id) { // }); });🎜Les paramètres de l'itinéraire sont généralement placés dans
{ }
, et les noms de paramètres ne peuvent être que des lettres. Dans le même temps, les paramètres de routage ne peuvent pas contenir de symboles -
. Si nécessaire, ils peuvent être remplacés par des traits de soulignement (_
. ). Les paramètres de route seront injectés dans les rappels de route ou les contrôleurs dans l'ordre, quels que soient les noms de paramètres des rappels ou des contrôleurs. 🎜🎜🎜🎜?
après le paramètre pour y parvenir, mais le principe est de vous assurer que la variable correspondante de la route a une valeur par défaut🎜Route::prefix('admin')->group(function () { Route::get('users', function () { // 匹配包含 "/admin/users" 的 URL }); });🎜🎜🎜
where
sur une instance de route . La méthode where
accepte un nom de paramètre et une expression régulière qui définit comment le paramètre doit être contraint : 🎜Route::name('admin.')->group(function () { Route::get('users', function () { // 指定路由名为 "admin.users"... })->name('users');});
Contraintes globales
🎜Si vous souhaitez qu'un paramètre de routage spécifique suive les contraintes de la même expression régulière, utilisez la méthodepattern
dans la méthode boot
de RouteServiceProvider< /code> Définissez ces modèles dans : 🎜Route::get('api/users/{user}', function (App\User $user) {
return $user->email;
});
🎜Une fois définies, ces règles seront automatiquement appliquées à toutes les routes utilisant ce nom de paramètre : 🎜/**
* 获取该模型的路由的自定义键名。
*
* @return string
*/
public function getRouteKeyName(){
return 'slug';
}
🎜 Encoding Caractères barres obliques
🎜Le composant de routage Laravel autorise tous les caractères sauf /
. Vous devez explicitement autoriser /
à faire partie de l'espace réservé à l'aide de l'expression régulière conditionnelle where
: 🎜public function boot(){
parent::boot();
Route::model('user', App\User::class);
}
🎜 REMARQUE : Les caractères de barre oblique codés ne sont pris en charge que dans le dernier segment de route. 🎜🎜🎜🎜🎜🎜🎜Nom d'itinéraire
La dénomination d'itinéraire peut facilement générer des URL ou des redirections pour des itinéraires spécifiés. Vous pouvez spécifier le nom de la route en chaînant la méthode name
sur la définition de la route : name
方法可以指定路由名称:
Route::get('profile/{user}', function (App\User $user) {
//
});
你还可以指定控制器行为的路由名称:
/**
* 启动应用服务。
*
* @return void
*/
public function boot(){
parent::boot();
Route::bind('user', function ($value) {
return App\User::where('name', $value)->first() ?? abort(404);
});
}
生成指定路由的 URL
为路由指定了名称后,就可以使用全局辅助函数 route
来生成链接或者重定向到该路由:
/**
* 检索绑定值的模型。
*
* @param mixed $value
* @return \Illuminate\Database\Eloquent\Model|null
*/
public function resolveRouteBinding($value){
return $this->where('name', $value)->first() ?? abort(404);
}
如果是有定义参数的命名路由,可以把参数作为 route
函数的第二个参数传入,指定的参数将会自动插入到 URL 中对应的位置:
Route::fallback(function () {
//
});
检查当前路由
如果你想判断当前请求是否指向了某个路由,你可以调用路由实例上的 named
方法。例如,你可以在路由中间件中检查当前路由名称:
Route::middleware('auth:api', 'throttle:60,1')->group(function () {
Route::get('/user', function () {
//
});
});
路由组
路由组允许你在大量路由之间共享路由属性,例如中间件或命名空间,而不需要为每个路由单独定义这些属性。共享属性应该以数组的形式传入 Route::group
方法的第一个参数中。
中间件
要给路由组中所有的路由分配中间件,可以在 group 之前调用 middleware
方法,中间件会依照它们在数组中列出的顺序来运行:
Route::middleware('auth:api', 'throttle:rate_limit,1')->group(function () {
Route::get('/user', function () {
//
});
});
命名空间
另一个常见用例是使用 namespace
方法将相同的 PHP 命名空间分配给路由组的中所有的控制器:
<form action="/foo/bar" method="POST">
<input type="hidden" name="_method" value="PUT">
<input type="hidden" name="_token" value="{{ csrf_token() }}">
</form>
请记住,默认情况下,RouteServiceProvider
会在命名空间组中引入你的路由文件,让你不用指定完整的 AppHttpControllers
命名空间前缀就能注册控制器路由。因此,你只需要指定命名空间 AppHttpControllers
之后的部分。
子域名路由
路由组也可以用来处理子域名。子域名可以像路由 URI 一样被分配路由参数,允许你获取一部分子域名作为参数给路由或控制器使用。可以在 group 之前调用 domain
方法来指定子域名:
<form action="/foo/bar" method="POST">
@method('PUT')
@csrf
</form>
路由前缀
可以用 prefix
$route = Route::current();
$name = Route::currentRouteName();
$action = Route::currentRouteAction();
Vous pouvez également spécifier le nom de la route de l'action du contrôleur : rrreee
Générer l'URL de la route spécifiée
Après avoir spécifié un nom pour la route, vous pouvez utiliser la fonction d'assistance globale route
pour générer un lien ou une redirection à la route : rrreee S'il s'agit d'une route nommée avec des paramètres définis, vous pouvez passer les paramètres comme deuxième paramètre de la fonction route
, et les paramètres spécifiés seront automatiquement insérés à la position correspondante dans l'URL : rrreee🎜Vérifier l'itinéraire actuel
🎜Si vous souhaitez déterminer si la requête actuelle pointe vers un certain itinéraire, vous peut appeler la méthode named sur la route instance code>. Par exemple, vous pouvez vérifier le nom de la route actuelle dans le middleware de routage : 🎜rrreee🎜🎜🎜🎜🎜route-groups 🎜🎜 Les groupes de routes vous permettent de partager des propriétés de route, telles que des middlewares ou des espaces de noms, sur un grand nombre de routes sans avoir à définir ces propriétés individuellement pour chaque route. Les propriétés partagées doivent être passées dans le premier paramètre de la méthode Route::group
sous la forme d'un tableau. 🎜🎜🎜🎜🎜Middleware
🎜Pour donner toutes les routes du groupe de routage À allouez un middleware, vous pouvez appeler la méthode middleware
avant que le groupe ne soit exécuté dans l'ordre dans lequel ils sont répertoriés dans le tableau : 🎜rrreee🎜 🎜 🎜🎜Espace de noms
🎜Un autre cas d'utilisation courant consiste à utiliser la méthode namespace
pour attribuer le même espace de noms PHP vers Tous les contrôleurs d'un groupe de routes : 🎜rrreee🎜 N'oubliez pas que par défaut, RouteServiceProvider
importera vos fichiers de route dans le groupe d'espaces de noms, vous évitant ainsi d'avoir à spécifier les AppHttpControllers
complets. Le préfixe d'espace de noms peut être utilisé pour enregistrer les routes du contrôleur. Par conséquent, il vous suffit de spécifier la partie après l'espace de noms AppHttpControllers
. 🎜🎜🎜🎜🎜Routage de sous-domaine
🎜Le groupe de routage peut également être utilisé pour gérer les sous-domaines. Les sous-domaines peuvent se voir attribuer des paramètres de route, tout comme les URI de route, vous permettant d'obtenir une partie du sous-domaine en tant que paramètres pour une route ou un contrôleur. Vous pouvez appeler la méthode domain
avant le groupe pour spécifier le nom du sous-domaine : 🎜rrreee🎜🎜🎜🎜Préfixe de routage
🎜Vous pouvez utiliser la méthode prefix
pour ajouter un préfixe à l'URL donnée dans le groupe de routage. Par exemple, vous pouvez préfixer les URI de toutes les routes du groupe avec admin : 🎜rrreee🎜🎜🎜🎜🎜🎜Préfixe du nom de route
La méthode name peut être utilisée pour ajouter une chaîne donnée à chaque nom de route dans le groupe de routes. Par exemple, vous souhaiterez peut-être préfixer les noms de toutes les routes de groupe avec « admin ». La chaîne donnée est exactement la même que le préfixe du nom de route spécifié, nous veillerons donc à fournir les caractères .
de fin dans le préfixe : .
字符:
rrreee路由模型绑定
当向路由或控制器行为注入模型 ID 时,就需要查询这个 ID 对应的模型。Laravel 为路由模型绑定提供了一个直接自动将模型实例注入到路由中的方法。例如,你可以注入与给定 ID 匹配的整个 User
模型实例,而不是注入用户的 ID。
隐式绑定
Laravel 会自动解析定义在路由或控制器行为中与类型提示的变量名匹配的路由段名称的 Eloquent 模型。例如:
rrreee在这个例子中,由于 $user
变量被类型提示为 Eloquent 模型 AppUser
,变量名称又与 URI 中的 {user}
匹配,因此,Laravel 会自动注入与请求 URI 中传入的 ID 匹配的用户模型实例。如果在数据库中找不到对应的模型实例,将会自动生成 404 异常。
自定义键名
如果你想要模型绑定在检索给定的模型类时使用除 id
之外的数据库字段,你可以在 Eloquent 模型上重写 getRouteKeyName
方法:
rrreee显式绑定
要注册显式绑定,使用路由器的 model
方法来为给定参数指定类。在 RouteServiceProvider
类中的 boot
方法内定义这些显式模型绑定:
rrreee接着,定义一个包含 {user}
参数的路由:
rrreee因为我们已经将所有 {user}
参数绑定至 AppUser
模型,所以 User
实例将被注入该路由。例如,profile/1
的请求会注入数据库中 ID 为 1 的 User
rrreee
< /a>Liaison de modèle de route
Lors de l'injection d'un ID de modèle dans une route ou un comportement de contrôleur, vous devez interroger le ID modèle correspondant. Laravel fournit un moyen de liaison de modèle de route pour injecter directement et automatiquement des instances de modèle dans les routes. Par exemple, au lieu d'injecter l'ID de l'utilisateur, vous pouvez injecter l'intégralité de l'instance de modèle Utilisateur
qui correspond à un ID donné. 🎜🎜🎜🎜Liaison implicite🎜🎜Laravel résoudra automatiquement la définition dans la route ou le contrôleur Eloquent modèle pour les noms de segments d'itinéraire dans les comportements qui correspondent aux noms de variables indiqués par le type. Par exemple : 🎜rrreee🎜Dans cet exemple, puisque la variable $user
est liée au modèle Eloquent AppUser
, le nom de la variable est le même que le {user}< dans l'URI. /code> correspond, donc Laravel injecte automatiquement une instance de modèle utilisateur qui correspond à l'ID transmis dans l'URI de la requête. Si l'instance de modèle correspondante est introuvable dans la base de données, une exception 404 sera automatiquement générée. 🎜🎜Nom de clé personnalisé
🎜Si vous souhaitez que la liaison de modèle utilise un autre id lors de la récupération d'une classe de modèle donnée Pour les champs de base de données autre que
, vous pouvez remplacer la méthode getRouteKeyName
sur le modèle Eloquent : 🎜rrreee🎜🎜🎜🎜Liaison explicite🎜🎜Pour enregistrer une liaison explicite, utilisez la méthode model
du routeur pour spécifier la classe pour le paramètre donné. Définissez ces liaisons de modèle explicites dans la méthode boot
dans la classe RouteServiceProvider
: 🎜rrreee🎜Ensuite, définissez un paramètre {user}
Route : 🎜rrreee 🎜Étant donné que nous avons lié tous les paramètres {user}
au modèle AppUser
, l'instance User
sera injectée dans cette route. Par exemple, une requête pour profile/1
injectera l'instance User
avec l'ID 1 dans la base de données. 🎜🎜Si une instance de modèle correspondante n'est pas trouvée dans la base de données, une exception 404 sera automatiquement levée. 🎜🎜🎜Analyse logique personnalisée
Si vous souhaitez utiliser une logique d'analyse personnalisée, utilisez la méthode Route::bind
. La closure
passée à la méthode bind
acceptera la valeur correspondant aux accolades dans l'URI et retournera une instance de la classe que vous souhaitez injecter dans la route : Route::bind
方法。传递到 bind
方法的 闭包
会接受 URI 中大括号对应的值,并且返回你想要在该路由中注入的类的实例:
rrreee或者,您可以重写 Eloquent 模型上的 resolveRouteBinding
方法。 此方法会接受 URI 中大括号对应的值,并且返回你想要在该路由中注入的类的实例:
rrreee回退路由
使用 Route::fallback
方法, 你可以定义在没有其他路由匹配传入请求时执行的路由。通常,未处理的请求会通过应用程序的异常处理程序自动呈现 “404” 页面。 但是,因为你可以在 routes/web.php
文件中定义 fallback
路由,web
中间件的所有中间件都将应用到路由中。 当然,你也可以根据需要向这条路由中添加额外的中间件:
rrreee{note} 回退路由应始终是你应用程序注册的最后一个路由。
访问控制
Laravel 包含了一个 middleware 用于控制应用程序对路由的访问。 如果想要使用, 请将 throttle
中间件分配给一个路由或者一个路由组。throttle
中间件会接收两个参数,这两个参数决定了在给定的分钟数内可以进行的最大请求数。例如,让我们指定一个经过身份验证并且用户每分钟访问频率不超过 60 次的路由组:
rrreee动态访问控制
你可以根据已验证的 User
模型的属性,指定动态请求的最大值。例如,如果你的 User
模型包含 rate_limit
属性,则可以将属性名称传递给 throttle
中间件,以便它用于计算最大请求数:
rrreee表单方法伪造
HTML 表单不支持 PUT
、PATCH
或 DELETE
行为。所以当你要从 HTML 表单中调用定义了 PUT
、 PATCH
或 DELETE
行为的路由时,你将需要在表单中增加一个隐藏的 _method
输入标签。使用 _method
字段的值作为 HTTP 的请求方法:
rrreee你也可以使用 @method
模板指令生成 _method
rrreee
ou , vous pouvez remplacer la méthode resolveRouteBinding
sur le modèle Eloquent. Cette méthode acceptera la valeur correspondant aux accolades dans l'URI et renverra une instance de la classe que vous souhaitez injecter dans la route : Route de secours
En utilisant la méthode Route::fallback
, vous pouvez définir une route qui est exécutée lorsqu'aucune autre route ne correspond à la route entrante. demande. En règle générale, les requêtes non gérées sont automatiquement rendues avec une page « 404 » via le gestionnaire d'exceptions de l'application. Cependant, comme vous pouvez définir des routes fallback
dans le fichier routes/web.php
, tous les middlewares du middleware web
seront appliqués à la route. milieu. Bien sûr, vous pouvez ajouter un middleware supplémentaire à cette route si nécessaire : 🎜rrreee🎜{note} La route de secours doit toujours être la dernière route enregistrée par votre application. 🎜
🎜🎜🎜🎜Contrôle d'accès
🎜Laravel inclut un middleware utilisé pour contrôler l’accès des applications aux itinéraires. Si vous souhaitez l'utiliser, attribuez le middleware throttle
à une route ou à un groupe de routes. Le middleware throttle
reçoit deux paramètres qui déterminent le nombre maximum de requêtes pouvant être effectuées en un nombre de minutes donné. Par exemple, spécifions un groupe de routage qui est authentifié et auquel les utilisateurs accèdent pas plus de 60 fois par minute : 🎜rrreee Propriété du modèle Utilisateur
validé qui spécifie la valeur maximale des requêtes dynamiques. Par exemple, si votre modèle User
contient l'attribut rate_limit
, vous pouvez transmettre le nom de l'attribut au middleware throttle
afin qu'il puisse être utilisé pour calculer le nombre maximum de requêtes : 🎜rrreee🎜🎜🎜🎜Spoofing de la méthode de formulaire
🎜 Les formulaires HTML ne sont pas pris en charge par les comportements PUT
, PATCH
ou DELETE
. Ainsi, lorsque vous souhaitez appeler une route qui définit le comportement PUT
, PATCH
ou DELETE
à partir d'un formulaire HTML, vous devrez ajouter un champ Hidden Balise d'entrée _method
. Utilisez la valeur du champ _method
comme méthode de requête HTTP : 🎜rrreee🎜 Vous pouvez également utiliser la directive de modèle @method
pour générer une entrée _method
: 🎜rrreee🎜 🎜🎜🎜🎜🎜Accès à la route actuelle
Vous pouvez accéder aux informations sur la route qui gère les requêtes entrantes en utilisant la méthode current
、 currentRouteName
和 currentRouteAction
sur la façade Route :
rrreeeSi vous souhaitez connaître toutes les méthodes accessibles, vous pouvez consulter la documentation de l'API pour la façade Route et classe de base des instances de route.