首页
学习
活动
专区
圈层
工具
发布

【Laravel系列3.2】路由:指哪儿打哪儿

关于这种形式的加载方式大家可以在去看一下老的这些框架是如何实现的。而在 Laravel 中,从我开始接触的时候,就使用的是自定义路由的方式来指定请求的路径。...基本路由配置 简单地介绍一下基本的路由配置,我们可以指定路由的请求,比如使用 GET 还是 POST 。...如果是传统框架没有加任何判断的情况下,也是可以直接请求到控制器的,只是说我们从 _POST 中无法获取数据而已。...接下来,我们以 http://laravel8/temp/ 这个链接为例,使用调试工具看一下路由是如何调用分派的。 首先当然还是请求的封装,也就是我们上篇文章中的 Request 对象的生成。...接下来,就回到路由文件中 temp 这个路由的回调函数中。之后就是响应的输出了。 整个路由功能的调用路径就是这样,其实相对来说没有请求响应的路径长,毕竟它只是请求响应路径中的一部分而已。

12.6K10

全局梳理、分析、总结 laravel 的核心概念

03 — 路由 laravel 的路由也是自身框架的一个特征点,它的路由样式用法丰富且又简洁明了。让开发者甚是喜欢。...路由器允许响应任何 HTTP 请求的路由 Route::get($uri, $callback); Route::post($uri, $callback); Route::put($uri, $callback...Route::match(['get', 'post'], '/', function () { //支持两种方法 }); Route::any('foo', function () {...路由缓存/清理 (注:基于闭包的路由无法被缓存。要使用路由缓存,你需要将代码从闭包转移到控制器类中) 如果您的应用程序只使用了基于控制器的路由,那么您应该利用 Laravel 的路由缓存。...一旦单例绑定被解析,相同的对象实例会在随后的调用中返回到容器中: $this->app->singleton('HelpSpot\API', function ($app) { return new

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

    Laravel 路由使用入门

    而我们的 Laravel 从入门到精通系列教程之旅也将从路由开始,在这篇真正意义上的开篇教程中,我们将学习如何定义路由,然后将其指向要执行的代码,并处理各种路由需求。...2、路由动作 你可能已经注意到我们在上面的路由定义中使用了 Route::get,这种语法的含义是只匹配 GET 请求路由,那如果提交的是 POST 请求,或者 PUT、DELETE 请求呢?...Laravel 框架也为我们提供了相应的路由定义方法: Route::post('/', function () {}); Route::put('/', function () {}); Route...}); 从安全角度说,并不推荐上述这种路由定义方式,但是兼顾到便利性,我们可以通过 Route::match 指定请求方式白名单数组,比如下面这个路由可以匹配 GET 或 POST 请求: Route...::match(['get', 'post'], '/', function () {}); 3、复杂业务逻辑处理 当然,传递闭包并不是定义路由的唯一方式,闭包简单快捷,但是随着应用体量的增长,将日趋复杂的业务逻辑全部放到路由文件中显然是不合适的

    3.5K50

    【Laravel系统3.3】控制器与表单验证

    public function test(){ } 最简单的一个控制器就这样实现了,接下来要如何访问它呢?当然就是去配下路由就好啦。...不记得的小伙伴可以回到我们最早的文章中 PHP的那些魔术方法(二)https://mp.weixin.qq.com/s/8WgQ3eVYKjGaEd2CwnB0Ww 复习一下,在 Laravel 中,我们会用到很多之前学习过的基础知识...对于 REST 有疑问的同学可以自行查阅相关的文档,在这里就不多说了,毕竟我们的主旨还是在于 Laravel 框架如何实现这些功能。...请求方式 链接 说明 GET /test/resource 索引/列表 GET /test/resource/create 创建(显示表单) POST /test/resource/store 保存你创建的数据...传递过来的数据就是我们在路由文件中定义的数据,也就是调 get()/post() 这些方法的时候添加的数据。

    9.6K20

    Laravel 框架入门

    四、Laravel 核心概念与功能接下来,我们将详细讲解一些 Laravel 的核心功能,并通过实际代码展示如何使用这些功能。1....基本路由示例Route::get('/', function () { return 'Hello, Laravel!'...;});这段代码定义了一个简单的路由,当用户访问根目录时,会返回 Hello, Laravel!。使用控制器处理请求我们可以将逻辑从路由中提取到控制器。...; }}接着,将路由指向控制器的方法:Route::get('/', [HomeController::class, 'index']);这样,当访问根目录时,Laravel 会调用 HomeController...从基本的应用到复杂的企业级项目,Laravel 都能轻松应对。接下来,你可以深入学习 Laravel 提供的更多功能,如事件、队列、任务调度、文件存储等,进一步提升你的开发能力。

    1.8K00

    通过 Request 对象实例获取用户请求数据

    而作为最流行的 PHP 框架,Laravel 自然也是为处理用户请求提供了丰富的工具集,从收集、验证、到过滤、编排,可谓是一应俱全,接下来,我们将通过三四篇教程的篇幅来为你详细介绍如何在 Laravel...可见,不管是 URL 路径中的 GET 请求数据,还是表单中的 POST 请求数据,$request->all() 都可以获取到。...获取指定请求字段值 上面我们已经给出了获取指定字段值的一个方法 get,该方法只能获取通过 GET 请求传递的参数,同理,如果是 POST 请求的话,我们可以通过 post 方法获取对应字段值,此次之外...获取 JSON 输入字段值 随着基于 JavaScript 的单页面应用(SPA)应用的流行,除了传统表单请求提交的 POST/GET 数据之外,JSON 格式的请求数据也越来越常见,Laravel 支持对...作为定义路由的匿名函数参数之间已经见过很多了,这里我们来演示下作为控制器方法参数传入,以及如何通过 Request 对象实例获取。

    21.3K30

    Go 语言 Web 编程系列(五)—— 基于 gorillamux 包实现路由匹配:进阶使用篇

    1、限定请求方法 类似 Laravel 路由可以通过 Route::get、Route::post 这种方式来限定 HTTP 请求方法,gorilla/mux 支持通过 Methods 方法来限定请求方法...).Methods("GET", "POST") r.Handle("/zh/hello/{name}", &HelloWorldHandler{}).Methods("GET") log.Fatal(...6、路由分组 作为路由匹配进阶使用教程的收尾,我们来看下如何在 gorilla/mux 路由中实现路由分组和命名,以及根据命名路由生成对应的 URL。...("GET") postRouter.HandleFunc("/create", createPost).Methods("POST") postRouter.HandleFunc("/update",...gorilla/mux 路由也支持中间件,下篇教程,我们就来介绍如何基于 gorilla/mux 编写并应用路由中间件。

    3.8K20

    laravel 学习之路 路由视图初探

    我大致了解了 laravel 下,在开始一个 Http 程序需要先定义路由。...,controller控制器比作多部手机设备变很好理解 配置路由 laravel 的每一个路由是需要手动定义的,Laravel 的控制器非常的干净,与其他类的耦合度相当的低。...得益于 laravel 的 IoC 容器,我们很容易实现相当丰富的功能,且不会产生紧密耦合。那么如何才能访问到这个控制器里的逻辑呢?...虽然 laravel 没有强加给你既定的路由规则,但你拥有了更多定制的权利,并且 laravel 定义路由的方式非常优雅,带给你的体验非常丰富。...Route:: 后面可以跟一个请求方法代码中就是 get 请求,那么很容易就联想到如果写成 post 哪就表示是接受一个post请求 斜杠 / 表示首页 在 url 中就是域名后面的那个斜杠 study.laraveltest.com

    1.9K10

    Laravel Facades的实现原理

    下面我们会大概看一下Facades从被注册进Laravel框架到被应用程序使用这中间的流程。...注册Facades 说到Facades注册又要回到再介绍其它核心组建时提到过很多次的Bootstrap阶段了,在让请求通过中间件和路由之前有一个启动应用程序的过程: //Class: \Illuminate...'Route' => Illuminate\Support\Facades\Route::class, ...... ] 看一下AliasLoader里是如何注册这些别名的 // class:...解析Facade代理的服务 把Facades注册到框架后我们在应用程序里就能使用其中的Facade了,比如注册路由时我们经常用 Route::get('/uri','Controller@action)..., post, delete等那些路由方法, 父类里也没有,不过我们知道调用类不存在的静态方法时会触发PHP的 __callStatic静态方法 namespace Illuminate\Support

    1.3K20

    Laravel API教程:如何构建和测试RESTful API

    在本文中,我们将探讨如何构建和测试使用Laravel进行身份验证的强大API。我们将使用Laravel 5.4,所有的代码都可以在GitHub上参考。...我们将使用HTTP动词的语义: GET:检索资源 POST:创建资源 PUT:更新资源 DELETE:删除资源 ?...有些端点是非常明确,而且,作为一个结果,你的API将更加易于使用和维护,而不是这样的端点例如GET /get_article?id_article=12和POST /delete_article?...我们必须对路由文件和控制器进行更改: Route::get('articles', 'ArticleController@index'); Route::get('articles/{article}'...: Route::post('login', 'Auth\LoginController@login'); 现在,假设seeders 已经运行,当我们POST向该路由发送请求时,我们得到的是: $ curl

    23.4K20

    Laravel 表单方法伪造与 CSRF 攻击防护

    Laravel 中的 HTTP 请求方式 Laravel 路由支持通过上面的大部分常用请求方式: /** * Laravel 路由支持的 HTTP 请求方式 * * @var array */...public static $verbs = ['GET', 'HEAD', 'POST', 'PUT', 'PATCH', 'DELETE', 'OPTIONS']; 并为其提供了相应的路由定义方法...答案是通过表单方法伪造,下面我们就来介绍如何在 Laravel 中进行表单方法伪造。..."> Laravel 会将其看作是 DELETE 请求,并将其匹配到对应的 Route::delete 路由进行处理,而不是 Route::post 路由。...不得不说,Laravel 5.7 引入的错误提示页面虽然好看,但是错误提示信息太少,这其实是因为默认情况下,为了安全考虑,Laravel 期望所有路由都是「只读」操作的(对应请求方式是 GET、HEAD

    10.5K40

    通过 Laravel 创建一个 Vue 单页面应用(三)

    我们将通过演示在 vue-router 进入一个路由之前,如何异步加载数据来继续使用 Laravel 构建我们的 Vue SPA。...之前在 通过 Laravel 创建一个 Vue 单页应用(二) 中完成了 UsersIndex 组件异步地从 API 中加载用户。...简化了从数据库构建一个真实的后端 API,选择通过 Laravel 的 factory() 方法在 API 返回中模拟假数据。...如果你还没有读过通过 Laravel 构建 Vue 单页应用的 第一部分 和 第二部分,我建议你先去看看,再回到这里。我会在这里等你。...本教程未向您展示如何构建分页,因此您可以自己找到(或创建)自己喜欢的分页! 分页是一种很好的方法,可以向您展示如何以编程方式使用 Vue 路由器在 SPA中 导航。

    6.7K10

    Laravel 控制器:从 MVC 模式聊起

    4、依赖注入 正如前面介绍的 Input 门面一样,Laravel 中的门面为 Laravel 代码库中的大部分类提供了简单的接口调用,通过门面你可以轻松从当前获取各种请求数据,比如用户输入、Session...Artisan 生成器和路由定义方法,从方便我们一次为所有控制器方法定义路由。...HTTP请求方式 URL 控制器方法 路由命名 业务逻辑描述 GET post index() post.index 展示所有文章 GET post/create create() post.create...发布文章表单页面 POST post store() post.store 获取表单提交数据并保存新文章 GET post/{post} show() post.show 展示单个文章 GET post...} destroy() post.desc 删除单个文章 绑定资源服务器 通过上面的表格已经了解了 Laravel 中对资源路由的命名约定,Laravel 还为我们提供了一个 Route::resource

    12.5K51

    Laravel的基本使用

    [Laravel] Laravel的基本HTTP路由 使用Laravel的基本路由,实现get请求响应,找到文件app/Http/routes.php 调用Route的静态方法get(),实现get响应...,参数:string类型的路径,匿名函数function(){} 匿名函数内部,返回string数据 实现post,put,delete的请求,同上 实现get传递参数的路由,调用Route的静态方法get...] Laravel的基本视图 在目录resources/views/下面,创建index/index.php 在控制器中使用函数view()来调用模板,参数:文件路径(.分隔目录),数据 路由:routes.php...is requested. | */ /*测试get post*/ Route::get('/', function () { $url=url("index"); return "Hello...$url; //return view('welcome'); }); Route::post("/post",function(){ return "测试post"; }); /*传递参数

    1.8K30

    【Laravel系列3.1】​一个请求的前世今生

    这个调用路径,也就是从浏览器发出一个请求到我们要处理这个请求的路由或者控制器,看看这个请求都经历了哪些地方,走过了哪些路。...我们以路由中的处理为例,可以看到一个简单的请求走到路由中就经历过了这么多的类和方法的处理。所以我们常说 Laravel 的慢就是慢在了这里。当然,这也是之前就说过的,为了“优雅”而放弃的性能。...从调试的信息来看,其实从传统的 _REQUEST 、_POST、 其实,许多框架都会建议从他们封装的参数获取函数中取得参数信息。一般这些框架都会对请求进行一些参数验证、数据保护过滤的操作。...我们先来看看这个请求参数是如何封装的,我们是如何获取的。...因为我们没指定是 get 还是 post 来的数据。 在 request 中,有对应的 get() 和 post() 方法,同时也存在一个 all() 方法。

    8.1K20

    深入浅出 Laravel 路由执行原理

    最终回到由 App\Providers\RouteServiceProvider 类中定义的 map 方法执行路由载入处理。 学习到这,大家对路由的整个加载过程应该已经建立起一个比较宏观上的概念了。...另外补充两篇有关中间件的文章 Laravel 中间件原理 和 Laravel 管道流原理,可以去研究下 Laravel 中间件如何工作的。...从路由配置中解析出控制器实例。...,大家可以自行去研究一下: 到 Illuminate\Routing\RouteCollection(由 Router::get('/', callback) 等设置的路由) 集合中去查找究竟如何将 $...总结 在这篇文章我们主要学习一下几个有关路由处理的相关知识: Laravel 中的路由如何被加载到项目中; 如何接收 HTTP 请求; 如何依据 HTTP 请求($request)查找所匹配的路由; 运行路由闭包或控制器方法

    7.6K30
    领券