php - URL 打错 Controller LARAVEL

标签 php laravel controller routes

在 route.php 中,我定义了一个到 Controller 的路由,上面有 2 个标记。

Route::get('/{category}/{slug}', 'projectController@detail');

一切正常,直到调用具有相同结构但与必须被下面所示的路由捕获的 URL 无关的 URL。

所以当我有例如 "/admin/tags" 时,下面的 Controller 被触发,因为它具有与 "/{category}/{slug}"相同的结构 当然它给了我一个错误,因为它没有找到一个变量。

所以现在我解决了在底部移动该路由的问题,但我相信我必须提前做一些事情来防止这种行为,因为如果我有多个具有不同 token 的路由,那么每次都会触发所有内容并且会有一团糟。

那么,在这些情况下它应该做什么?

附言我是 Laravel 的 super 初学者

最佳答案

对路线使用一些约束,引用parameters-regular-expression-constraints .例如:

Route::get('user/{name}', function ($name) {
    //
})
->where('name', '[A-Za-z]+');

或者您可以在不具体之前先做最具体的。例如,在这个序列中:

Route::get("/admin/tags", '......');
Route::get('/{category}/{slug}', 'projectController@detail');

关于php - URL 打错 Controller LARAVEL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41176638/

上一篇:php - 提取图像路径

下一篇:PHP 工厂方法

相关文章:

c# - 从 C# 调用 soap 服务

PHP SELECT 表现得很奇怪

php - 从 MySQL 中的 DateTime 计算不同的天数

html - 无法在 Laravel 中获取输入的全宽

javascript - 在每个 Controller 的开头运行一个函数

php - Codeigniter - 多个数据库连接 - 本地和远程

php - 数组到字符串的转换

php - Laravel 使用关系显示 View ,加入

ruby-on-rails - ActiveRecord::RecordNotFound -- 找不到没有 ID 的用户

ruby-on-rails-3 - 如何使用 rspec-rails 测试 Controller ?