码迷,mamicode.com
首页 > 其他好文 > 详细

laravel5.5源码阅读草稿——路由

时间:2018-09-07 01:01:12      阅读:149      评论:0      收藏:0      [点我收藏+]

标签:back   空间   自己   namespace   源码阅读   generator   cache   rap   更新   

laravel 里的路由是由RouteServiceProvider提供的,其中的boot方法为启动项,调用了父类的boot方法。
RouteServiceProvider中的boot方法设置了自己与UrlGenerator类的根命名空间。
通过bootstrap/cache/routes.php处的缓存文件判断路由是否已缓存,分别从缓存与路由类读取。
 
给app容器加载booted钩子函数,函数内执行了RouteCollection类的refreshNameLookups与refreshActionLookups方法,遍历路由文件,并分别更新name与action列表,action列表存储调用controller的路由,如下图 action [‘controller‘]属性。
 
"HEADtest/{id?}/{ip?}" => Route {#119 ▼
    +uri: "test/{id?}/{ip?}"
    +methods: array:2 [?]
    +action: array:6 [▼
      "middleware" => array:1 [?]
      "uses" => "App\Http\Controllers\testController@exportExcel"
      "controller" => "App\Http\Controllers\testController@exportExcel"
      "namespace" => "App\Http\Controllers"
      "prefix" => null
      "where" => []
    ]
    +isFallback: false
    +controller: null
    +defaults: []
    +wheres: []
    +parameters: null
    +parameterNames: null
    +computedMiddleware: null
    +compiled: null
    #router: Router {#25}
    #container: Application {#2}
  }
路由文件里的route::any等门面类调用的方法,在router类里调用addRoute方法,将创建好的route对象传入RouteCollection类里,存储在路由字典里,方便调用
Router创建Route,添加到RouteCollection。

laravel5.5源码阅读草稿——路由

标签:back   空间   自己   namespace   源码阅读   generator   cache   rap   更新   

原文地址:https://www.cnblogs.com/wyycc/p/9601960.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!