你如何找到Laravel门面背后的基础类?

the*_*fog 12 php laravel

例如 - 此函数使用外观:

File::get('path/to/file.txt');
Run Code Online (Sandbox Code Playgroud)

事实证明,实际供应的基础类File::getIlluminate\Filesystem\Filesystem

我查看了Laravel 4.2文档 - 这就是我使用的版本 - 以及api参考,但我找不到任何可以解释如何提前知道如何找到"真正的"类到门面的人.

关于Laravel外墙的这个教程给出了一个涉及的方法

  • 找到File班级
  • 期待看到它扩展了阶级 Facade
  • 通过该Facade#__callstatic()方法遵循代码
  • 跟踪的行为__callstatic(),resolveFacadeInstance()getFacadeAccessor()返回字符串files
  • 等等
  • ...太长/很多步骤发布

这是对最新情况的一个很好的证明,但我不想经常这样做.

我的问题是,知道你在你的app中使用的"facaded classes"不一定有相同的名称或一些约定来帮助你搜索文件系统,怎么会有人 - 谁不知道底层的类是什么 - 找到laravel外观的基础类?

scr*_*bmx 7

这是一个很好的资源:https://laravel.com/docs/facades#facade-class-reference除此之外,请确保为您正在使用的任何编辑器安装某种intellisense插件.其中大多数允许您按Ctrl +右键单击类/方法并转到定义.


Dan*_*ard 7

好像可以用getFacadeRoot()。例如,要找出Mail立面后面的内容:

get_class(Mail::getFacadeRoot());
// in my case returns 'Illuminate\Mail\Mailer'
Run Code Online (Sandbox Code Playgroud)