如何查看laravel门脸类包含方法的源码
以Route门脸类为例,我们定义路由时使用的就是Route门脸类,例如我们在web.php中定义的路由
use Illuminate\Support\Facades\Route;
Route::get('/', 'DashboardController@index');
Route::get('/login', 'LoginController@index')->name('login');
我们可以使用PHPStorm自带的跳转功能,跳转到Route门脸类的定义处,如下图所示(Mac上的快捷键是:Command+鼠标左键单击)

当我们跳转到Route门脸类定义的地方时却发现,这里有的只是一些方法的注释,却没有我们实际调用Route::get()方法的源码,
实际上,真正的源码在getFacadeAccessor()方法返回的router标识所对应的服务里. 所有我们得查看router对应的服务,
服务在哪里查看?
laravel注册服务的地方有两个,一个在config/app.php的providers里,一个在框架的核心里
下图是框架的核心laravel/framework/src/Illuminate/Foundation/Application.php中的registerCoreContainerAliasesrouter对应的服务

可以看到,router对应的是一个有三个服务的数组,那么router实际上用的是哪一个呢?这里需要用到tinker了,进入到项目目录,执行命令php artisan tinker,通过app('服务标识')查看实际对应的服务

由图片可以看出,router实际对应是Illuminate/Routing/Router.php,我们查看该文件,如图所示,就能看到Route门脸类的方法的源码了,你熟悉的get, post源码找到啦

如何查看laravel门脸类包含方法的源码的更多相关文章
- [Java源码解析] -- String类的compareTo(String otherString)方法的源码解析
String类下的compareTo(String otherString)方法的源码解析 一. 前言 近日研究了一下String类的一些方法, 通过查看源码, 对一些常用的方法也有了更透彻的认识, ...
- vs2010查看quartz.net 2.1.2的源码时其中一报错的解决方法
问题: 使用vs2010查看quartz.net 2.1.2的源码时,报错: ..\Quartz.NET-2.1.2\server\Quartz.Server\Quartz.Server.2010.c ...
- Pycharm中查看方法的源码
方法1.鼠标放在函数上,Ctrl+B,看源码 方法2.将光标移动至要查看的方法处,按住ctrl 键,点击鼠标左键,即可查看该方法的源码.
- 7.Java集合-Arrays类实现原理及源码分析
Java集合---Arrays类源码解析 转自:http://www.cnblogs.com/ITtangtang/p/3948765.html 一.Arrays.sort()数组排序 Java A ...
- HttpServlet中service方法的源码解读
前言 最近在看<Head First Servlet & JSP>这本书, 对servlet有了更加深入的理解.今天就来写一篇博客,谈一谈Servlet中一个重要的方法-- ...
- Linux下使用FreeTDS访问MS SQL Server 2005数据库(包含C测试源码)
Linux下使用FreeTDS访问MS SQL Server 2005数据库(包含C测试源码) http://blog.csdn.net/helonsy/article/details/7207497 ...
- Scala 深入浅出实战经典 第41讲:List继承体系实现内幕和方法操作源码揭秘
Scala 深入浅出实战经典 第41讲:List继承体系实现内幕和方法操作源码揭秘 package com.parllay.scala.dataset /** * Created by richard ...
- 《JAVA高并发编程详解》-Thread start方法的源码
Thread start方法的源码:
- thymeleaf模板引擎调用java类中的方法(附源码)
前言 <Docker+SpringBoot+Mybatis+thymeleaf的Java博客系统开源啦> 由于开源了项目的缘故,很多使用了My Blog项目的朋友遇到问题也都会联系我去解决 ...
随机推荐
- io流追加到一个文件中信息比如日志
package com.yh.day02.arrays; import java.io.File;import java.io.FileInputStream;import java.io.FileN ...
- @ImportResource
1. @ImportResource(locations = {"classpath:beantest.xml"})标注到启动类上,从类路径下加载xml文件,通过Applicati ...
- centos7 链路聚合+KVM桥接连网
一.两个物理网卡做链路聚合(em3,em4) 1)创建team类型的网卡,连接别名为team0,使用的模式为activebackup-主备/loadbalance-负载均衡nmcli con add ...
- 《2019年小米春季上海 PHP 实习生招聘面试题》部分答案解析
1 丶 Nginx 怎么实现负载均衡 这个还是比较简单 1.轮询 这种是默认的策略,把每个请求按顺序逐一分配到不同的 server,如果 server 挂掉,能自动剔除. 2.最少连接 把请求分配到连 ...
- 前端笔记之微信小程序(一)初识微信小程序&WXSS与CSS|WXML与HTML的差异&像素和DPR
一.小程序概述 2017 年 1 月 9 日小程序正式上线,腾讯开放了个人开发者开发小程序,小程序从此就开始火爆,这一年,小程序狂揽 4 亿用户.1.7 亿的日常活跃,上线 58 万个.这是一个巨大的 ...
- kaldi简介及安装
操作系统 : Ubuntu18.04_x64 gcc版本 :7.4.0 简介 Kaldi诞生于2009年的JohnsHopkins University,刚开始项目重点是子空间高斯模型(SGMM)建模 ...
- ASP.NET Core Web 应用程序系列(一)- 使用ASP.NET Core内置的IoC容器DI进行批量依赖注入(MVC当中应用)
在正式进入主题之前我们来看下几个概念: 一.依赖倒置 依赖倒置是编程五大原则之一,即: 1.上层模块不应该依赖于下层模块,它们共同依赖于一个抽象. 2.抽象不能依赖于具体,具体依赖于抽象. 其中上层就 ...
- (转)颜色直方图, HSV直方图, histogram bins
原文链接:https://www.xuebuyuan.com/3256564.html 一个histogram,通常可以用一个列向量表示(例子中的a,b),列向量里面的每一个值就是一个bin(a,b) ...
- nmap的简单使用
主机探测 1.扫描单个主机 nmap 192.168.1.2 2.扫描整个子网 nmap 192.168.1.1/24 3.扫描多个目标 nmap 192.168.1.1 192.168.1.1.5 ...
- 035.[转] 获取HttpServletRequest请求Body中的内容
注意: HttpServletRequest 请求中的 body 内容仅能调用 request.getInputStream(), request.getReader()和request.getPar ...