修改Laravel5.3中的路由文件与路径

 更新时间:2016年08月10日 16:17:08   投稿:daisy  
本文先是回顾了Laravel5.2中路由的修改,然后给大家用实例代码介绍了如何修改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有所帮助。

相关文章

  • PHP利用hash冲突漏洞进行DDoS攻击的方法分析

    PHP利用hash冲突漏洞进行DDoS攻击的方法分析

    这篇文章主要介绍了PHP利用hash冲突漏洞进行DDoS攻击的方法,实例分析了php利用hash进行DDoS攻击的原理与实现技巧,需要的朋友可以参考下
    2015-03-03
  • PHP设计模式之工厂模式定义与用法详解

    PHP设计模式之工厂模式定义与用法详解

    这篇文章主要介绍了PHP设计模式之工厂模式,结合实例形式详细分析了php工厂模式的概念、原理、定义、用法及相关操作注意事项,需要的朋友可以参考下
    2018-04-04
  • PHP实现求两个字符串最长公共子串的方法示例

    PHP实现求两个字符串最长公共子串的方法示例

    这篇文章主要介绍了PHP实现求两个字符串最长公共子串的方法,涉及php字符串与数组的遍历、运算、判断等相关操作技巧,需要的朋友可以参考下
    2017-11-11
  • 使用php运行python文件的示例代码

    使用php运行python文件的示例代码

    这篇文章给大家介绍了如何使用php运行python文件,可以使用PHP的exec函数来运行Python文件,exec函数调用系统命令,并返回执行结果,文中有详细的代码示例供大家参考,需要的朋友可以参考下
    2023-12-12
  • PHP中用hash实现的数组

    PHP中用hash实现的数组

    今天回顾学习了PHP中变量实现的方法,在浏览其源码是发现在PHP中所有的数据类型通过一个union存储。php语言是弱类型语言,其实现中通过记录变量的类型和值来实现其管理。
    2011-07-07
  • php利用ffmpeg提取视频中音频与视频画面的方法详解

    php利用ffmpeg提取视频中音频与视频画面的方法详解

    想要提取视频中的音频信息,首选的技术是ffmpeg,ffmpeg是一个非常有用的命令行程序,它可以用来转码媒体文件。这篇文章主要给大家介绍了PHP利用ffmpeg提取视频中音频与视频画面的相关资料,需要的朋友可以参考下。
    2017-06-06
  • php中return的用法实例分析

    php中return的用法实例分析

    这篇文章主要介绍了php中return的用法,实例分析了php中return的功能及常见的使用技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-02-02
  • php 文本文件的读取效率

    php 文本文件的读取效率

    一直鼓捣着想把博客的首页存在文件里,结果存在文件里,博客更新时再重新将内容再次写入到这个文件。所以刚才测试了三种读取文本的常规方法
    2012-02-02
  • Zend studio文件注释模板设置方法

    Zend studio文件注释模板设置方法

    这篇文章主要介绍了Zend studio中新建文件注释、函数注释、代码块等模板的实例
    2013-09-09
  • php中获取主机名、协议及IP地址的方法

    php中获取主机名、协议及IP地址的方法

    这篇文章主要介绍了php中获取主机名、协议及IP地址的方法,其中涉及gethostbyaddr、gethostbynamel、getprotobyname、getprotobynumber等函数及$_SERVER变量的应用,需要的朋友可以参考下
    2014-11-11

最新评论