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

  • 相关阅读:
    mysql 15道语句练习题
    分组查询以及where和having的区别
    java初学复习
    Working with Excel Files in Python
    PIP常用命令
    pip install 提示代理连接失败原因及解决办法
    关于Encode in UTF-8 without BOM
    360极速浏览器Onetab插件存储位置
    使用夜神模拟器录制脚本
    微信小程序开发经验总结
  • 原文地址:https://www.cnblogs.com/itbsl/p/10813018.html
Copyright © 2011-2022 走看看