[英]How do you find the underlying class behind a Laravel facade?
例如 - 此函數使用外觀:
File::get('path/to/file.txt');
事實證明,實際提供File::get
的底層類是Illuminate\\Filesystem\\Filesystem
我查看了Laravel 4.2文檔 - 這是我使用的版本 - 以及api參考,但我找不到任何可以解釋如何提前知道如何找到“真正的”類到門面的人。
關於Laravel外牆的這個教程給出了一個涉及的方法
File
類 Facade
類 Facade#__callstatic()
方法執行代碼 getFacadeAccessor()
返回字符串files
時,跟蹤__callstatic()
, resolveFacadeInstance()
的行為 這是對最新情況的一個很好的證明,但我不想經常這樣做。
我的問題是,知道你在你的app中使用的“facaded classes”不一定有相同的名稱或一些約定來幫助你搜索文件系統,怎么會有人 - 誰不知道底層的類是什么 - 找到laravel外觀的基礎類?
這是一個很好的資源: https ://laravel.com/docs/facades#facade-class-reference除此之外,請確保為您正在使用的任何編輯器安裝某種intellisense插件。 其中大多數允許您按Ctrl +右鍵單擊類/方法並轉到定義。
看來你可以使用getFacadeRoot()
。 例如,要找出Mail
外觀背后的內容:
get_class(Mail::getFacadeRoot());
// in my case returns 'Illuminate\Mail\Mailer'
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.