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

Laravel 请求生命周期

当需要使用一个框架、工具或者服务使用前应对其运行原理进行研究。随着原理研究工作的不断深入,能让我们使用时更得心应手。...HTTP 内核是定义 app/Http/Kernel.php 文件内的 Kernel 实现类,接收一个请求,然后返回一个响应,就是这么简单。...服务提供者 接下来,内核会在引导项目启动加载服务提供者。应用实例所依赖的服务提供者可以 config/app.php 配置文件的 providers 节点找到。...路由器将请求转发至注册的路由和对应的控制器(译注: routes/web.php 或 routes/api.php 文件定义的路由),并且执行当前路由相关的中间件。...我们可以 routes/web.php (译注:原文定义 app/routes.php ,仅适用于 Laravel 5.3 之前)定义路由。

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

深入浅出 Laravel 路由执行原理

路由加载原理 这节我们将重点讲解如何加载我们 routes 目录下的定义的 web.php 路由配置文件(仅考虑典型的 Web 应用)。...预备知识 通过之前 Laravel 内核解读文章我们知道 Laravel ,所有的服务都是通过「服务提供者」的 register 方法绑定到「Laralvel 服务容器」, 之后可以 Laravel...我想你自然的会想到:加载路由文件任务本质是一种服务,实现的功能是将路由文件定义的路由加载到 Laravel 内核, 然后再去匹配正确的路由并处理 HTTP 请求。...最后执行以路由文件 base_path('routes/web.php') 目录为参数的 group 方法完成 Web 路由组的设置。...设置的中间件和命名空间等); 使用 loadRoutes 方法引入 base_path('routes/web.php') 文件定义的路由。

6.7K30

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

在这个教程,我们通过学习怎样从 Vue 组件Laravel API 加载异步数据,来继续 Laravel 创建一个 Vue 单页应用(SPA)。...API 路由 Vue 单页应用是无状态的,这就要求我们发起 API 请求到 Laravel 路由的时候,需要通过定义 routes/api.php 的路由。... routes/api.php 定义一个路由,意味着请求都会有一个 /api 前缀,因为这个前缀定义应用的 RouteServiceProvider 类: protected function mapApiRoutes...在这个组件组件 创建 的时候获取异步数据。定义一个 fechData() 方法来初始化 error 和 users 属性为 null,设置 loading 为 true。... export default {} 接下来,让我们更新 UsersIndex.vue文件设置用户数据

3.4K30

深入剖析 Laravel 服务提供者实现原理

服务提供者的功能是完成 Laravel 应用的引导启动,或者说是将 Laravel 的各种服务「注册」到「Laravel 服务容器」,这样才能在后续处理 HTTP 请求使用这些服务。...除核心服务外,几乎所有的服务提供者都定义配置文件 config/app.php 文件的 providers 节点中。...通过前面的学习,我们知道 register 方法 Laravel 并不能保证所有其他服务已被加载。所以当需要处理具有依赖关系的业务逻辑,应该将这些逻辑处理放置到 boot 方法内。...当我们打开 config/app.php 配置文件,你会发现有配置很多服务提供者,难道所有的都需要去执行的 register 和 boot 方法么?...因为对于延迟加载的服务提供者只有使用时才会被调用,所以这里需要这样判断,然后再去启动

4.4K10

Laravel 路由使用入门

1、路由入门 Laravel 应用,定义路由有两个入口,一个是 routes/web.php,用于处理终端用户通过 Web 浏览器直接访问的请求,另一个是 routes/api.php,用于处理其他接入方的...本章,我们将主要聚焦于 routes/web.php,关于 routes/api.php 将会在后面编写 API 章节重点介绍。...定义路由最简单的方式就是 routes/web.php 定义一个路径以及一个映射到该路径的闭包函数: // routes/web.php Route::get('/', function () {...; }); 这样,当我们访问应用首页 http://blog.test ,就可以看到页面显示 Hello, World! 这一行字符串。...你可以视图文件这么使用: 此外,Laravel 还允许你为每个路由命名,这样一来,不必显式引用路径 URL 就可以对路由进行引用,这样做的好处是你可以为一些复杂的路由路径定义一个简单的路由名称从而简化对路由的引用

2.6K50

Laravel学习笔记(二)—— 路由,请求接收与转发

(~~其实目前我也不是蛮懂,我怕写了被打脸~~)不过,学到后面肯定是要把她(Laravel)摸透的,暂时先留个坑,学会了再来填坑。毕竟,我写笔记的时候,我也是一个Laravel的新手、初学者。...路由文件—— routes文件夹 上篇文章我有提到routes文件夹里四个文件,web.php、api.php、 console.php 和 channels.php。...php Route::get('/', function () { return view('welcome'); }); 对于默认的web.php文件里面的路由代表什么呢?...这就是默认的welcome视图,当我们部署好默认的Laravel项目后,打开浏览器后看到的是Laravel的默认welcome界面,就是web.php路由和welcome.blade.php视图文件起的作用...具体设置方式如下: Route::group(['prefix' => 'user'], function(){ #这里放user组的路由规则 Route::get('add', function

3K01

laravel的服务提供者

laravel的服务提供者是框架的引导中心 config/app.php文件的providers数组是所有注册的服务提供者 大部分是框架本身的服务提供者 下面这个部分是框架应用的服务提供者 ?...服务提供者类里面最主要的就是两个方法register和boot register方法,可以把自己的服务注册到服务容器 boot方法是所有的服务提供者被注册后,会被调用 注意修改默认的RouteServiceProvider...路由服务提供者里面对api请求的前缀设置,如果不加/api前缀是访问不到api路由配置的 public function boot() { $this->configureRateLimiting...(); $this->routes(function () { Route::prefix('api') ->middleware...('api') ->namespace($this->namespace) ->group(base_path('routes/api.php

51120

Laravel源码分析之Route

URI "/user"Laravel会把请求最终派发给UsersController类的index方法来进行处理,然后index方法返回响应给客户端。...上面注册路由用到的Route类Laravel里叫门面(Facade),提供了一种简单的方式来访问绑定到服务容器里的服务router,Facade的设计理念和实现方式我打算以后单开博文来写,在这里我们只要知道调用的...缓存文件一般 bootstrap/cache/routes.php 文件。...通过map方法我们能看到laravel将路由分为两个大组:api、web。这两个部分的路由分别写在两个文件routes/web.php、routes/api.php。...Laravel5.5里是把路由分别放在了几个文件里,之前的版本是app/Http/routes.php文件里。

2.2K30

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

之前 通过 Laravel 创建一个 Vue 单页应用(二) 完成了 UsersIndex 组件异步地从 API 中加载用户。...Users 控制器 第二章, 模拟的 /users  routes/api.php 中长下面这样: Route::get('/users', function () { return factory...下面控制器和 Api 命名空间对应的的新 routes/api.php 代码: Route::namespace('Api')->group(function () { Route::get('... next() 和在组件里设置数据(变量 vm ) 检查文档以获得完整的示例,但只需说我们将异步获取用户数据,一旦完成,并且只有完成之后,我们才会触发next(,并在组件上设置数据(变量vm)。...当下一页或上一页第一页和最后一页的边界处为空,将禁用这些按钮。 代码可能有一些冗余,但是此组件说明 vue-router了进入路由之前用于获取数据的方法!

5.1K10

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

打开 routes/api.php 路由文件获取全部用户的 index 路由下方添加下面的路由: Route::namespace('Api')->group(function () { Route... Promise 的回调,我们设置了 loaded 属性(尚未创建)并设置了the user 属性。...然后我们 Promise 上链接一个回调方法, API 成功执行之后设置成功提示信息,并设置最新的用户数据。2000 毫秒后我们置空提示信息,这同样会隐藏模板的消息。...我们给模板添加了 :disabled 属性,来避免重复提交,它能保证当我更新数据提交按钮是禁止状态: <button type="submit...第一步,我们<em>在</em> <em>routes</em>/<em>api.php</em> <em>中</em>定义新的路由 PUT /api/users/{user} : Route::namespace('Api')->group(function () {

2K10

【PHP 随记】—— laravel 目录结构分析

文件存储等)的配置文件; (4) \textbf{database 目录} :包含数据填充和迁移文件以及模型工厂类,还可以把作为 SQLite 数据库存放目录。...创建/删除/修改数据表操作的类文件); seeds:播种、种子,存放的是种子(填充器)文件(模拟向数据表写入数据的操作类 (5) \textbf{public 目录} :项目的入口文件和系统的静态资源目录...lang:存储语言包的目录; views:视图文件存储目录; (7) \textbf{routes 目录} :包含了应用的所有路由定义,Laravel 默认包含了几个路由文件:web.php、api.php...(8) \textbf{storage 目录} :主要是存放缓存文件和日志文件,注意,如果在 linux 环境下,该目录需要有可写权限。(后期用户上传文件如果存在本地则也 storage 下。...其他常用文件介绍 (11) \textbf{.env 文件} :主要是设置一些系统相关的环境配置文件信息。

3.3K10
领券