Laravel框架中路由文件在哪里,怎么定义路由
Admin 2022-06-15 群英技术资讯 498 次浏览
laravel路由文件在“routes”目录里。Laravel中所有的路由文件定义在routes目录下,它里面的内容会自动被框架加载;该目录下默认有四个路由文件用于给不同的入口使用:web.php、api.php、console.php等。
本教程操作环境:windows7系统、Laravel6版,DELL G3电脑。
在 Laravel 中要简单地定义一个路由非常方便,传递一个 URI 和闭包即可。
Route::get('foo', function () { return 'Hello World'; })
Laravel 中所有的路由定义在 routes 目录下,这个目录下的内容会自动被框架加载。 routes 目录中默认有四个路由文件用于给不同的入口使用:web.php、api.php、 console.php 和 channels.php。
web.php 文件包含的路由都位于 RouteServiceProvider 所定义的 web 中间件组约束之内,因而支持 Session、CSRF 保护以及 Cookie 加密功能,如果应用无需提供无状态的、RESTful 风格的 API,那么路由基本上都要定义在 web.php 文件中。
api.php 文件包含的路由位于 api 中间件组约束之内,支持频率限制功能,这些路由是无状态的,所以请求通过这些路由进入应用需要通过 token 进行认证并且不能访问 Session 状态。
console.php 文件用于定义所有基于闭包的控制台命令,每个闭包都被绑定到一个控制台命令并且允许与命令行 IO 方法进行交互,尽管这个文件并不定义 HTTP 路由,但是它定义了基于控制台的应用入口(路由)。
channels.php 文件用于注册应用支持的所有事件广播频道。
许多项目,基本上都是以 routes/web.php 为起点进行开发的,它能实现快速开发一个项目的需要。在 routes/web.php 中定义的路由在浏览器中是可以直接访问到的。例如,在浏览器中输入 http://your-app.dev/user 地址来访问下面的路由:
Route::get('/user', 'UsersController@index');
定义在 routes/api.php 中的路由被嵌套在了一个路由组里,这是在 RouteServiceProvider 中设定的。这个组里的路由都使用了 /api 这个 URI 前缀,这样在你定义路由的时候,就不必再手动添加这个前缀了。如果你不想使用 /api 这个前缀的话,那么可以在 RouteServiceProvider 中修改。
/** * Define the "api" routes for the application. * * These routes are typically stateless. * * @return void */ protected function mapApiRoutes() { Route::prefix('api') ->middleware('api') ->namespace($this->namespace) ->group(base_path('routes/api.php')); }
可用的路由方法
每一个 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);
有时一个路由需要能够匹配多个请求类型,这时可以用 match 方法。
Route::match(['get', 'post'], '/', function () { // });
如果希望一个路由能够匹配所有请求类型的话,使用 any 方法:
Route::any('foo', function () { // });
CSRF 保护
使用 Route::post、Route::put、Route::patch 和 Route::delete 定义的路由,要求访问它们的 HTML 表单都要传递一个 CSRF token,否则请求会被拒绝。你可以在 CSRF 文档里阅读更多这方面的内容。
<form method="POST" action="/profile"> {{ csrf_field() }} ... </form>
重定向路由
如果你要将一个路由重定向到另一个路由,可以使用 Route::redirect 方法。这就节省定义一个完整路由或者控制器来操作简单的重定向带来的一些麻烦:
Route::redirect('/here', '/there', 301);
视图路由
如果你只是要简单返回一个视图,可以使用 Route::view 方法,类似 Route::redirect 方法,也节省了一些麻烦。view 方法的第一个参数是 URI,第二个参数是视图名。另外,也可以使用可选的第三个数组类型参数向视图传递数据:
Route::view('/welcome', 'welcome'); Route::view('/welcome', 'welcome', ['name' => 'Taylor']);
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
本篇文章给大家介绍一下PHP7引入的“??” 和“?:”区别。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。
今天小编就为大家分享一篇在TP5数据库中四个字段实现无限分类的示例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
php怎样实现格式化时间?我们有时候会遇到需要格式化时间的需求,那么要怎么操作呢?下面就给大家分享关于php实现格式化时间操作的实例,感兴趣的朋友可以了解看看。
php kohana框架设置路由:1、使用 Route:: set ();设置,每一个路由至少有一个默认default路由;2、讲请求转发到控制器上,默认是将请求转发到main控制中的index动作上。
这篇文章主要介绍了PHP实现提取多维数组指定一列的方法,结合实例形式总结分析了PHP针对多维数组的遍历、转换、提取等相关操作技巧,需要的朋友可以参考下
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008