修改Laravel5.3中的路由文件与路径
前言
大家可能没有注意到, 在 Laravel 4 以及更老版本中, 路由逻辑是性能上的一个瓶颈--特别是对于有很多路由定义的应用而言. 一个只有几百条路由定义的 Laravel 站点, 框架光注册路由就需要半秒多的时间. 不过以后不用担心这个问题了, 因为 Laravel 5 引入了 路由缓存(route caching), 可以大大优化路由的性能(闭包方式定义的路由不能缓存, 所以该把所有的闭包路由定义都移到控制器中了).
1、回顾Laravel 5.2中路由的修改
在 Laravel 5.2 的routes.php中我们可以看到路由被分割成两个路由群组:web和api,这样做的原因是基于中间件群组的理念:开箱即可拥有web和api两组路由。
web路由组提供了普通web用户所需的所有功能特性:如session、cookie、CSRF防护等等,相比之下,api路由组更加轻量级,只提供了throttle中间件,以便提供无状态的REST API。
2、Laravel 5.3 中路由的修改
在Laravel 5.3中,app/Http/routes.php
文件被移动到routes目录下,并且被分割成两个文件:web.php和api.php。你可能已经猜到了,web.php中的路由应用了web中间件组,而api.php中的路由应用了api中间件组。
这样做有一些好处,首先,我们实现了web路由和api路由的分离,其次,可以在应用级层面组织多个路由文件,最后,将routes移出app目录,对新手而言,可以更快访问到routes目录,并且让app目录完全成为PSR-4自动加载的目录。
如果你想要自定义或者添加自己的独立路由文件,参考App\Providers\RouteServiceProvider
获取思路:
... public function map() { $this->mapWebRoutes(); $this->mapApiRoutes(); // } protected function mapWebRoutes() { Route::group([ 'namespace' => $this->namespace, 'middleware' => 'web', ], function ($router) { require base_path('routes/web.php'); }); } protected function mapApiRoutes() { Route::group([ 'middleware' => ['api', 'auth:api'], 'namespace' => $this->namespace, 'prefix' => 'api', ], function ($router) { require base_path('routes/api.php'); }); }
总结
很简单吧,参照这段代码应该可以很轻松创建自己独立的路由文件。以上就是修改Laravel5.3中路由文件及路径的全部内容,希望本文对大家学习Laravel5.3有所帮助。
相关推荐
-
跟我学Laravel之路由
基本路由 应用中的大多数路都会定义在 app/routes.php 文件中.最简单的Laravel路由由URI和闭包回调函数组成. 基本 GET 路由 复制代码 代码如下: Route::get('/', function() { return 'Hello World'; }); 基本 POST 路由 复制代码 代码如下: Route::post('foo/bar', function() { return 'Hello World'; }); 注册一个可以响应任何HTTP动作
-
laravel中命名路由的使用方法
laravel提供了很多magic方法来,先来讲讲命名路由的使用,有两种方法非常便捷. 命名路由让你可以更方便的为特定路由生成 URL 或进行重定向.你可以使用 as 数组键指定名称到路由上 1.第一种:通过route路由中的as关键字来实现 Route::get('api/user',['as'='web.user'],'messageController@userInformation'); 2.第二种:通过Route的magic方法name来实现命名路由 Route::get('api/u
-
Laravel 5框架学习之路由、控制器和视图简介
查看 app/Http/routes.php 复制代码 代码如下: Route::get('/', 'WelcomeController@index'); @是一个界定符,前面是控制器,后面是动作,表示当用户请求url / 的时候,执行控制器 WelcomeController 中的 index 方法 复制代码 代码如下: app/http/controllers/welcomecontroller.php public function index() { return view('welco
-
Laravel 4 初级教程之视图、命名空间、路由
1. 视图分离与嵌套 在 learnlaravel 文件夹下运行命令: php artisan generate:view admin._layouts.default 这时候generator插件帮我们创建了app/views/admin/_layouts/default.blade.php 文件,将内容修改为: <!doctype html><html><head> <meta charset="utf-8"> <title
-
Laravel框架路由配置总结、设置技巧大全
基本路由 您的应用程序的绝大多数路由将在 app/routes.php 文件中定义.Laravel 中最简单的路由由一个 URI 和一个闭包调用组成. 基本 GET 路由 复制代码 代码如下: Route::get('/', function() { return 'Hello World'; }); 基本 POST 路由 复制代码 代码如下: Route::post('foo/bar', function() { return 'Hello World'; }); 注册一个路由以响应所有 HT
-
ThinkPHP、ZF2、Yaf、Laravel框架路由大比拼
前言 读过一篇关于Zend Framework2的技术文章<ZF2多级树形路由Route配置实例>,是介绍路由配置的.我觉得很有意思,这是的需求: /user对应用户列表页面 /user/:user_id对应用户的个人主页,比如 /user/AlloVince 就对应AlloVince用户的个人主页 /user/:user_id/blog/对应用户的博客列表页面,比如 /user/AlloVince/blog 就会列出AlloVince写过的Blog /user/:user_id/blog/:
-
Laravel最佳分割路由文件(routes.php)的方式
前言 Laravel 的路由功能很强大,默认都是定义在 routes.php 文件中,随着项目越来越大,我们需要的定义的路由越来越多,想象一下,如果几百上千个路由都定义在一个文件中,如何去维护?也许还有不同的人都在同一个文件定义路由,这就造成了冲突,因此我们需要分割 routes.php 文件. 下面介绍一种很优雅的方式. 在 app/Providers/RouteServiceProvider.php 的 map 方法中可以如下定义: public function map(Router $r
-
Laravel路由设定和子路由设定实例分析
本文实例讲述了Laravel路由设定和子路由设定方法.分享给大家供大家参考,具体如下: 普通路由设定 1.路由(routes.php)代码: Route::get('min','MinController@index'); min:为路由名称,即url中输入的,如127.0.0.1/min 这里的min就是上面对应的min MinController为文件名(类名) @index为方法名 2.控制器 namespace App\Http\Controllers; use App\Http\Co
-
修改Laravel5.3中的路由文件与路径
前言 大家可能没有注意到, 在 Laravel 4 以及更老版本中, 路由逻辑是性能上的一个瓶颈--特别是对于有很多路由定义的应用而言. 一个只有几百条路由定义的 Laravel 站点, 框架光注册路由就需要半秒多的时间. 不过以后不用担心这个问题了, 因为 Laravel 5 引入了 路由缓存(route caching), 可以大大优化路由的性能(闭包方式定义的路由不能缓存, 所以该把所有的闭包路由定义都移到控制器中了). 1.回顾Laravel 5.2中路由的修改 在 Laravel 5.
-
xcode中获取js文件的路径方法(推荐)
NSString *filePath = [[NSBundle mainBundle] pathForResource:@"click" ofType:@"js"]; 理论上这样是应该能获取click.js的路径的,但是返回的确是null. 解决方法是: 项目的TARGETS-->Build Phases 在Compile Sources中 ,去掉你的js文件 在Copy Bundle Resources中,加上你的js文件 原理应该就是改之前Xcode默认把
-
Android中利用xml文件布局修改Helloworld程序
Android环境布置完毕,直接就是一个Helloworld程序,详情请看<利用adt-bundle轻松搭建Android开发环境与Hello world(Linux)>这使得很多人难以理清整个Android项目的基本结构.其实安卓项目,与其它Java工程的项目,SSH.Servlet等,都是采取Java与XML文件联合的方式,形成一个工程的. 有几个文件是需要熟知的.如下图: MainActivity.java是整个安卓工程的入口, 其中,里面的protected void onCreate
-
AngularJS中的路由使用及实现代码
前 言 本章节将为大家介绍 AngularJS 路由.AngularJS 路由允许我们通过不同的 URL 访问不同的内容.通过 AngularJS 可以实现多视图的单页Web应用(single page web application,SPA). 1.1 Angular JS路由基础知识讲解 在AngularJS中使用路由: 1. 导入路由文件:angular-route.js 2. 在主模块中注入"ngRoute". angular.module("app",[
-
详解SPA中前端路由基本原理与实现方式
在讲前端路由之前,先说下后端路由,以及为什么出现了前端路由. 后端路由: 浏览器在地址栏中切换不同的url时,每次都向后台服务器发出请求,服务器响应请求,在后台拼接html文件传给前端显示,java web中的jsp就是如此实现的.常用的后台MVC模式的基本路由处理流程:浏览器输入一个url请求,从中找到Controller和Action的值,将请求传递给Controller处理,Controller获取Model数据对象,并且将Model传递给View,最后View呈现界面. 例如输入一个ur
-
小程序封装路由文件和路由方法(5种全解析)
小程序5种路由方法使用场景,封装路由文件和路由方法,提升小程序体验和开发效率 明确要解决的问题 每次使用路由时,总是粘贴复制路径,这样在路径有修改时,需要修改所有用到该路径的地方,维护成本高 路由跳转时拼接参数让人头大,业务复杂时要拼接十几个参数 路由返回,只会返回一层,不能直接返回到目标页面,因为不知道目标页面是否在路由栈中,也不知道在第几层 这些问题都可以通过封装路由文件和路由方法解决,提供开发效率,减少BUG,省下来的时间可以多陪陪女朋友 封装路由文件,对路由进行统一管理 在根目录创建ro
-
vue2 中二级路由高亮问题及配置方法
实现效果图 1.项目中的图标使用的是element-ui框架中的图标,如果需要引入可以看我写的上一篇文章. 2.首先配置路由 我初始化项目的时候初始化了路由,所以打开router/index.js文件进行修改配置 router/index.js import Vue from 'vue' import Router from 'vue-router' import Home from '@/components/Home' import Game from '@/components/Game'
-
Linux中设置路由以及虚拟机联网图文详解
什么是路由? 路由,是指通过相互连接的网络把数据包从源站传送到目的站的活动,在路由过程中数据包通常会经过一个或多个中转节点(即路由器),这些沿途的路由器会沿着一条最佳路径转发数据包,直至目的地. 什么是路由器? 路由器用于连接不同的网络,是网络之间互相连接的枢纽.路由器的主要工作是为经过路由器的每个数据包寻找一条最佳传输路径,并将该数据有效地传送到目的地. 什么是网关? 网关(GATEWAY)是在网络层以上实现网络互连. 实验1:模拟路由器,让不在同一网段的两台主机可以ping通 首先,要确定哪
-
在laravel5.2中实现点击用户头像更改头像的方法
视图层 !!!自己下载jquery文件和ajaxfileUpload的插件 <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <title></title> <style> </style> </head> <script type="text/javascript&q
-
详解django中url路由配置及渲染方式
今天我们学习如何配置url.如何传参.如何命名.以及渲染的方式,内容大致有以下几个方面. 创建视图函数并访问 创建app django中url规则 捕获参数 路径转换器 正则表达式 额外参数 渲染方式 创建视图并访问 项目中自带的Python文件中,并没有带有视图,因此我们自己创建一个,通常,我们把视图命名views.py. 然后在views.py中,导入头文件 from django.http import HttpResponse 然后我们在views.py中,写一些Python函数,用来访
随机推荐
- 如何做一个计数器并让人家申请使用?
- 实例详解JSON取值(key是中文或者数字)方式
- 推荐VSCode 上特别好用的 Vue 插件之vetur
- java中Scanner类的简单用法分享
- asp.net动态生成HTML表单的方法
- C#各种集合操作的性能总结
- PHP弹出对话框技巧详细解读
- 在Python的Django框架中simple-todo工具的简单使用
- C++中实现把表的数据导出到EXCEL并打印实例代码
- jquery ajax多次请求数据时 不刷新问题的解决方法
- BootStrap轮播HTML代码(推荐)
- 不错的几个bat实例
- Jquery修改image的src属性,图片不加载问题的解决方法
- 打造个性化的Select(可编辑)
- JavaWeb开发之使用jQuery与Ajax实现动态联级菜单效果
- 解析Android应用启动后自动创建桌面快捷方式的实现方法
- Android Activity的生命周期详细介绍
- 纯C语言:分治快速排序源码分享
- Android 系统相机拍照后相片无法在相册中显示解决办法
- Android EventBus(普通事件/粘性事件)详解