首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Laravel —— 路由学习笔记

吐槽完毕,咱来正式记录下学习Laravel框架一些笔记,因为之前配置开发环境什么网上blog一抓一大把,我也在上面吐了三升血,所以咱一句都不提开发环境配置了。...新手第一次用Laravel,必须先掌握一个知识点就是路由 —— Route, 因为之前在做iOS开发时,iOS设计模式里也提出过路由概念,我也大致了解过,所以对于路由我并不陌生,熟悉了LaravelRoute...之后,诚实Laravel又一次提升了我对路由系统认知,不由得感叹这个Laravel路由系统强大和优美,尤其当你把他和中间件结合起来看时候。...不过由于学习Laravel时间过短,我所能感受到也只是皮毛而已。...,上面的代码是Laravel中最基本路由设置,get后面的'homepage'说明这个路由跳转域名就是index/homepage,而返回操作则是return view('welcome'),即为跳转到

1.1K50

Laravel5.1 路由 -路由分组

路由分组有啥好处? 有时候啊 一大堆路由它们都有共同地方,比如都使用一个中间件(过两天写)或是前缀都一样,避免代码重复 我们可以将他们分到一组中。 ---- 1 路由分组可以共享哪些属性?...子域名 domain 路由前缀 1.1 中间件 关于中间件大K还没有写笔记介绍,这里先简单说下 中间件就是接收到请求后验证一些东西或相应后验证一些东西,比如Laravel自带Auth中间件 就是验证用户有没有登录进来.../** * 路由前缀呢 就是讲此分组中所有路由路径前加个前缀 */ Route::group(['prefix' => 'admin'], function (){ /** * 路由分组是可以嵌套哦.../** * 只要指明了命名空间,那么在子路由中所使用所有控制器都位于App\Http\Controller\Admin这个命名空间下。...*/ Route::get('/', 'HomeController@index'); }); 1.5 分组命名 补充一点,前一篇基础文章我们学了给路由命名,那么分组可不可以命名呢,Yo Man。。

53210
您找到你想要的搜索结果了吗?
是的
没有找到

Laravel 路由使用进阶

常言道「物以类聚,人以群分」,同样,在日常开发中,我们通常会将具有某些共同特征路由进行分组,这些特征包括是否需要认证、是否具有共同路由前缀或者子域名、以及是否具有相同控制器命名空间等,显然,对路由按照共同特征进行分组后可以避免重复为某些路由定义相同路由特征...1、中间件 我们使用路由分组最常见场景恐怕就是为一组路由应用共同中间件了,关于中间件可以参考官方文档(https://xueyuanjun.com/post/9539.html),后面也会有单独章节来讲解...() { return view('account'); }); }); 如果是多个中间件,可以通过数组方式传递参数,比如 ['auth', 'another'],以上是 Laravel...感兴趣同学可以去看下源码是如何实现:vendor/laravel/framework/src/Illuminate/Routing/RouteRegistrar.php,下面路径前缀、子域名和命名空间链式调用原理也是一样...除了通过上述共同特征对路由进行分组外,对于某一类资源路由,比如用户,往往拥有相同路由命名前缀,如 user.

1.4K20

laravelapi路由前缀

所有的 Laravel 路由都在 routes 目录中定义,这些文件都由框架自动加载。routes/web.php 文件用于定义 web 界面的路由。...这里面的路由会被分配给 web 中间件组,它提供了会话状态和 CSRF 保护等功能。 定义在 routes/api.php 中路由都是无状态,并且被分配了 api 中间件组。...大多数应用构建,都是以在 routes/web.php 文件定义路由开始。可以通过在浏览器中输入定义路由 URL 来访问 routes/web.php 中定义路由。...('/user', [UserController::class, 'index']); 定义在 routes/api.php 文件中路由是被 RouteServiceProvider 嵌套在一个路由组内...在这个路由组中,将自动应用 /api URI 前缀,所以你无需手动将其应用于文件中每个路由。你可以通过修改 RouteServiceProvider 类来修改前缀和其他路由组选项。

3.1K10

Laravel 路由使用入门

而我们 Laravel 从入门到精通系列教程之旅也将从路由开始,在这篇真正意义上开篇教程中,我们将学习如何定义路由,然后将其指向要执行代码,并处理各种路由需求。...1、路由入门 在 Laravel 应用中,定义路由有两个入口,一个是 routes/web.php,用于处理终端用户通过 Web 浏览器直接访问请求,另一个是 routes/api.php,用于处理其他接入方...这就是一个最简单 Laravel 路由定义,但是涵盖了一个 Web 框架基本功能:处理请求,返回响应。...Laravel 框架也为我们提供了相应路由定义方法: Route::post('/', function () {}); Route::put('/', function () {}); Route...你可以在视图文件中这么使用: 此外,Laravel 还允许你为每个路由命名,这样一来,不必显式引用路径 URL 就可以对路由进行引用,这样做好处是你可以为一些复杂路由路径定义一个简单路由名称从而简化对路由引用

2.6K50

laravel隐性路由绑定

路由设置resources/web.php: Route::get('/users/{user}', 'UsersController@show')->name('users.show'); 控制器app...(User $user) { return view('users.show', compact('user')); } 当访问 http://test.com/users/1 时,控制器对应变量名...$user会匹配路由片段中{user},这样,Laravel 会自动注入与请求 URI 中传入 ID 对应用户模型实例 此功能称为 『隐性路由模型绑定』,是『约定优于配置』设计范式体现,同时满足以下两种情况...,此功能即会自动启用: 路由声明时必须使用 Eloquent 模型单数小写格式来作为路由片段参数,User 对应 {user}: 在使用资源路由 Route::resource('users', '...控制器方法传参中必须包含对应 Eloquent 模型类型声明,并且是有序: 综上,Laravel 将会自动查找 ID 为 1 用户并赋值到变量 $user 中,如果数据库中找不到对应模型实例,会自动生成

1.3K10

Laravel源码笔记(二)路由

Laravel自然也不例外,通过配置文件中一两行代码就可以实现一个具有完整参数、属性及约束路由,甚至可以免去写专门controller。如此强大功能是如何实现呢?...下面仍然从laravel框架启动过程出发,探究一下源码中是如何一步步实现路由服务。...整个路由服务框架大致如下: image.png 在两个服务周期中都扮演者重要角色Router路由器,是在laravel初始化过程中由RoutingServiceProvider注册到...实际上,所有 laravel 路由都定义在位于 routes 目录下路由文件中,这些文件内路由laravel视为一个大路由组,在RouteService启动过程中通过Route门面加载出来(所以路由配置文件不需要声明对...在这个match()函数中,laravel先查找当前请求方式下存储所有路由(前面按请求方式作为索引存储数组还记得不?

7.4K40

最为常用Laravel操作(2)-路由

基本路由// 接收一个 URI 和一个闭包Route::get('hello', function () { return 'Hello, Laravel';});// 支持路由方法Route:...# 添加路由缓存php artisan route:cache# 移除路由缓存php artisan route:clear路由模型绑定隐式绑定// {user} 与 $user 绑定, 如果数据库中找不到对应模型实例...the model. * * @return string */public function getRouteKeyName(){ return 'slug';}显式绑定要注册显式绑定, 需要使用路由...('user', App\User::class);}定义一个包含 {user} 参数路由:$router->get('profile/{user}', function(App\User $user..., 需要使用 Route::bind 方法, 传递到 bind 方法闭包会获取到 URI 请求参数中值, 并且返回你想要在该路由中注入类实例:public function boot(){

17210

Laravel 5.0 之路由缓存

你可能没有注意到, 在 Laravel 4 以及更老版本中, 路由逻辑是性能上一个瓶颈--特别是对于有很多路由定义应用而言....一个只有几百条路由定义 Laravel 站点, 框架光注册路由就需要半秒多时间....不过以后不用担心这个问题了, 因为 Laravel 5 引入了 路由缓存(route caching), 可以大大优化路由性能(闭包方式定义路由不能缓存, 所以该把所有的闭包路由定义都移到控制器中了...有一个新 Artisan 命令 route:cache 可以把 routes.php 文件中所有路由定义序列化 -- 会对所有的路由进行一次解析然后把解析结果缓存起来....如果你曾经用过 Handlebars 模板预编译的话, Laravel 5 路由缓存机制跟它有点类似. 这样就已经搞定了. 执行完这个命令以后, 所有的路由都是从缓存文件而不是路由文件进行读取.

1.4K80

Laravel源码解析之路由使用

入口 Laravel启动后,会先加载服务提供者、中间件等组件,在查找路由之前因为我们使用是门面,所以先要查到Route实体类。...注册 第一步当然还是通过服务提供者,因为这是laravel启动关键,在 RouteServiceProvider 内加载路由文件。...,依旧是Illuminate\Routing\Router 内有你所使用所有路由相关方法,例如get、post、put、patch等等,他们都调用了统一方法 addRoute public function...$domainAndUri] = $route; } 添加后结果如下图所示 调用 通过 Illuminate\Routing\Router 方法开始运行路由实例化逻辑 protected function...(HttpResponseException $e) { return $e->getResponse(); } } 从上述方法内可以看出 runController 是运行路由关键

79710

Laravel 框架路由原理与路由访问实例分析

本文实例讲述了Laravel 框架路由原理与路由访问。...吧; 你家里只有一根网线; 网线上接着 wifi 路由器; 多部手机和电脑就可以通过 wifi 上网了; 路由器起到了一个分发作用; 二、Laravel路由 ?...控制器类比成多部手机设备; 有些框架路由是自动绑定控制器; 创建了控制器;路由也就自动有了; laravel 每一个路由是需要手动定义; 很多童鞋会觉得这样很繁琐; 当年我也觉得麻烦;...访问http://127.0.0.1:8000/article 到这; 我们已经把路由和视图V关联起来了; 我们也创建了一个非常简单路由了; 更多关于Laravel相关内容感兴趣读者可查看本站专题...Laravel框架PHP程序设计有所帮助。

1.6K20

laravel 学习之路 路由视图初探

; } } Route(路由)是什么? 路由就是网络请求 url 与 laravel 应用层逻辑处理地址对应关系。...laravel路由路由器很像好比你家里只有一根网线网线上接着 wifi 路由器,多部手机和电脑就可以通过 wifi 上网了,路由器起到了一个分发作用,大致是这样实现 ?...,controller控制器比作多部手机设备变很好理解 配置路由 laravel 每一个路由是需要手动定义Laravel 控制器非常干净,与其他类耦合度相当低。...说到这里,似乎大家是不是想起了 laravel 那种路由定义方式好处了?...虽然 laravel 没有强加给你既定路由规则,但你拥有了更多定制权利,并且 laravel 定义路由方式非常优雅,带给你体验非常丰富。

1.4K10

浅谈Laravel POST,PUT,PATCH 路由区别

/1,users/2 …而这些用户除了自增长id外有着相同数据,除非你系统实现了额外数据唯一性检查) 而PUT方法用来创建一个URI已知资源,或对已知资源进行完全替换,比如users/1, 因此...PUT方法一般会用来更新一个已知资源,除非在创建前,你完全知道自己要创建对象URI。...PATCH方法是新引入,是对PUT方法补充,用来对已知资源进行局部更新 GET 获取资源 POST 创建资源 PUT 编辑/更新资源(需提交完整资源字段) PATCH 编辑/更新资源(可以提交需要更新字段...Laravel中伪造HTTP请求方式,需要在表单中添加才能生效,还要配置路由。...以上这篇浅谈Laravel POST,PUT,PATCH 路由区别就是小编分享给大家全部内容了,希望能给大家一个参考。

1.6K41
领券