Laravel IDE helper 背后的原理?

好奇在 phpstorm 里面 laravel IDE helper 背后的原理

《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
讨论数量: 2
leo

开源的代码自己翻一下不就知道了

5年前 评论

大概看了下源码,简单作答

举个例子

Route 类在路由文件里面是无法通过IDE直接跳转到对应的 Facade 文件,而且 Facade 文件里面也没有相应的 static function 只有一个 getFacadeAccessor

IDE HELPER 所做的事情

  1. 补全静态方法,在相同命名空间下搞个同名类,code 如下

    class Route {
    
        /**
         * Register a new GET route with the router.
         *
         * @param string $uri
         * @param \Closure|array|string|null $action
         * @return \Illuminate\Routing\Route 
         * @static 
         */ 
        public static function get($uri, $action = null)
        {
            return \Illuminate\Routing\Router::get($uri, $action);
        }
    
        /**
         * Register a new POST route with the router.
         *
         * @param string $uri
         * @param \Closure|array|string|null $action
         * @return \Illuminate\Routing\Route 
         * @static 
         */ 
        public static function post($uri, $action = null)
        {
            return \Illuminate\Routing\Router::post($uri, $action);
        }
  2. 在根命名空间下定义一个同名类继承facade命名空间下的同名类

file

5年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!