当前位置: 代码网 > it编程>编程语言>Php > laravel8中常用路由的使用详解

laravel8中常用路由的使用详解

2024年05月18日 Php 我要评论
在laravel 8中,路由定义了应用程序中接受请求的方式。它们定义了url和相应的控制器方法之间的映射关系在laravel 8中,可以使用route类定义路由。基本的路由定义通常由http请求方法(

在laravel 8中,路由定义了应用程序中接受请求的方式。它们定义了url和相应的控制器方法之间的映射关系

在laravel 8中,可以使用route类定义路由。基本的路由定义通常由http请求方法(get、post、put、delete等)和url路径组成,然后指定要执行的回调函数或控制器方法

1、框架路由目录统一放该目录

2、基本路由,路由都调用route方法

use illuminate\support\facades\route;

3、控制器使用路由

usercontroller调用对应模块控制器的命名空间

路由常用方法get、post、put、delete

index对应控制器方法

use app\http\controllers\usercontroller;
route::get('/users', [usercontroller::class, 'index']);
route::get('/users/{id}', [usercontroller::class, 'show']);
route::post('/users', [usercontroller::class, 'store']);
route::put('/users/{id}', [usercontroller::class, 'update']);
route::delete('/users/{id}', [usercontroller::class, 'delete']);
route::match(['get', 'post'], '/', function () {
    // ...
});
 
route::any('/', function () {
    // ...
});

4、路由参数

route::get('/users/{id}', [usercontroller::class, 'show']);

{id}是一个路由参数,它会匹配请求的url中的实际值,并传递给show方法的参数

xxx.com/users/18 传递参数为18到该控制器方法

控制器接受

public function show($id)
{
    // 根据$id查询用户数据
    // 返回用户信息视图
}

5、路由组

路由组是用于将一组相关路由放在一起,并对它们应用相同的中间件或其他路由属性的技术。通过使用路由组,可以简化代码并提高可读性

route::prefix('admin')->group(function () {
    route::get('/users', [usercontroller::class, 'index']);
    route::post('/users', [usercontroller::class, 'store']);
    // 其他路由...
});

在上面的示例中,prefix方法用于指定路由组的url前缀为/admin。在该路由组中定义的所有路由都将自动添加此前缀

6、命名路由

命名路由是为了方便在代码中引用路由而给路由指定的名称。命名路由可以用于生成url或在重定向中使用

route::get('/users', [usercontroller::class, 'index'])->name('users.index');

上述示例中,name方法用于为该路由定义一个名称,users.index是路由的名称。可以根据名称在代码中引用该路由。 在控制器中可以使用route助手函数生成命名路由的url,例如:

$url = route('users.index');

以上代码将生成/users的url。 命名路由还可以在重定向中使用,例如:

return redirect()->route('users.index');

以上代码将重定向到/users路径。 通过使用命名路由,我们可以将路由的实际url与代码解耦,提高代码的可维护性

7、命令查看当前路由列表

php artisan route:list

8、路由缓存

生成缓存

php artisan route:cache

清除缓存 

php artisan route:clear

以上就是laravel8中常用路由的使用详解的详细内容,更多关于laravel路由的资料请关注代码网其它相关文章!

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com