zoukankan      html  css  js  c++  java
  • 如何查看laravel门脸类包含方法的源码

    Route门脸类为例,我们定义路由时使用的就是Route门脸类,例如我们在web.php中定义的路由

    use IlluminateSupportFacadesRoute;
    
    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源码找到啦

  • 相关阅读:
    HDU 3389 Game (阶梯博弈)
    国内操作系统OS分析(上)
    激光雷达应用技术分析
    构建深度学习框架运行平台
    GitHub上YOLOv5开源代码的训练数据定义
    GitHub上开源的YOLOv5
    深度学习调用TensorFlow、PyTorch等框架
    CUDA C 纹理提取Texture Fetching
    CPU,GPU,GPGPU
    毫米波RADAR与LIDAR探秘
  • 原文地址:https://www.cnblogs.com/itbsl/p/10813018.html
Copyright © 2011-2022 走看看