溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

PhpStorm導(dǎo)航的概述以及導(dǎo)航到類、接口、Trait的介紹

發(fā)布時(shí)間:2021-09-13 18:04:35 來(lái)源:億速云 閱讀:146 作者:chen 欄目:大數(shù)據(jù)

本篇內(nèi)容介紹了“PhpStorm導(dǎo)航的概述以及導(dǎo)航到類、接口、Trait的介紹”的有關(guān)知識(shí),在實(shí)際案例的操作過(guò)程中,不少人都會(huì)遇到這樣的困境,接下來(lái)就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!

概述

在日常使用代碼編輯器的過(guò)程中,頻率非常高的一個(gè)需求就是能夠快速全局導(dǎo)航到指定類、文件、方法、行,在 PhpStorm 中可以通過(guò)兩種方式來(lái)實(shí)現(xiàn)這種導(dǎo)航。

一種是在菜單欄中點(diǎn)擊 Navigate,然后在下拉框選擇對(duì)應(yīng)的全局導(dǎo)航,Class 代表類、File 代表文件、Symbol 代表符號(hào)/標(biāo)記(可用于導(dǎo)航到指定變量、方法)、Line 代表行(需要在特定文件中操作)。

PhpStorm導(dǎo)航的概述以及導(dǎo)航到類、接口、Trait的介紹  

另一種是通過(guò)快捷鍵,上面的菜單欄下拉框?qū)Ш竭x項(xiàng)右側(cè)已經(jīng)標(biāo)注了對(duì)應(yīng)的快捷鍵,下面我們就可以快捷鍵為例在 Mac 系統(tǒng)中進(jìn)行演示(Windows 操作類似,就是快捷鍵有差異)。

導(dǎo)航到類、接口、Trait

打開(kāi)一個(gè)新安裝的最新版 Laravel 項(xiàng)目,以自帶的 User 類為例,要導(dǎo)航到這個(gè)類,可以通過(guò)快捷鍵 Command + O 打開(kāi)導(dǎo)航窗口,在輸入框輸入 User 進(jìn)行類名的全局模糊匹配,然后在下拉選項(xiàng)中選中要導(dǎo)航的類:

PhpStorm導(dǎo)航的概述以及導(dǎo)航到類、接口、Trait的介紹  

就會(huì)打開(kāi)包含 User 類的文件了:

PhpStorm導(dǎo)航的概述以及導(dǎo)航到類、接口、Trait的介紹  

導(dǎo)航到其他類也是一樣,這里不重復(fù)演示了。除了項(xiàng)目代碼,還可以導(dǎo)航到 Composer 管理的 vendor 庫(kù)中的所有第三方擴(kuò)展包代碼,比如我們想要查看 User 的父類 Model

PhpStorm導(dǎo)航的概述以及導(dǎo)航到類、接口、Trait的介紹  

另外,導(dǎo)航到指定接口和 Trait 共用了導(dǎo)航到指定類的功能,比如我們?cè)陬悓?dǎo)航輸入框中輸入 Authenticatable,則會(huì)列出對(duì)應(yīng)的接口和 Trait:

PhpStorm導(dǎo)航的概述以及導(dǎo)航到類、接口、Trait的介紹  
 

導(dǎo)航到文件

在遵循 PSR-4 自動(dòng)加載規(guī)范的現(xiàn)代 PHP 項(xiàng)目中,類名和文件名是一致的,所以導(dǎo)航到類也就意味著導(dǎo)航到了對(duì)應(yīng)的文件,但對(duì)于一些不包含任何類的 PHP 文件,還是需要通過(guò)導(dǎo)航到文件功能進(jìn)行跳轉(zhuǎn),比如應(yīng)用初始化/啟動(dòng)文件、配置文件、路由文件以及定義 PHP 輔助函數(shù)的文件等。

我們可以通過(guò)快捷鍵 Shift + Command + P 文件打開(kāi)導(dǎo)航到文件的操作界面,假設(shè)我們想要打開(kāi) Laravel 項(xiàng)目的數(shù)據(jù)庫(kù)配置文件,可以在輸入框輸入 database 進(jìn)行文件名的全局模糊匹配,然后在下拉框選中我們期望打開(kāi)的文件:

PhpStorm導(dǎo)航的概述以及導(dǎo)航到類、接口、Trait的介紹  

即可跳轉(zhuǎn)到對(duì)應(yīng)的 database.php 配置文件:

PhpStorm導(dǎo)航的概述以及導(dǎo)航到類、接口、Trait的介紹  

如果想要打開(kāi)定義 Laravel 自帶輔助函數(shù)的 helpers.php 文件,操作方法完全一樣,只需在導(dǎo)航輸入框中輸入對(duì)應(yīng)文件名即可:

PhpStorm導(dǎo)航的概述以及導(dǎo)航到類、接口、Trait的介紹  
 

導(dǎo)航到屬性、方法

除了類名和文件之外,PhpStorm 還支持更細(xì)粒度的 PHP 屬性和方法導(dǎo)航,我們通過(guò)快捷鍵 Option + Command + O 打開(kāi)對(duì)應(yīng)的導(dǎo)航操作界面,假設(shè)我們想要在應(yīng)用代碼的 Kernel 類中新增一個(gè)全局中間件,可以在輸入框輸入 middleware 跳轉(zhuǎn)到到這個(gè)屬性中進(jìn)行設(shè)置:

PhpStorm導(dǎo)航的概述以及導(dǎo)航到類、接口、Trait的介紹  

 
PhpStorm導(dǎo)航的概述以及導(dǎo)航到類、接口、Trait的介紹  

該方法也適用于變量名的全局導(dǎo)航:

PhpStorm導(dǎo)航的概述以及導(dǎo)航到類、接口、Trait的介紹  

導(dǎo)航到指定的類/Trait成員方法或者獨(dú)立的 PHP 函數(shù)也是在同一個(gè)操作界面操作,比如我們想要查看 Laravel 自帶的分頁(yè)方法底層是如何實(shí)現(xiàn)的,可以在輸入框輸入 paginate,然后選擇我們想要查看的方法實(shí)現(xiàn)即可:

PhpStorm導(dǎo)航的概述以及導(dǎo)航到類、接口、Trait的介紹  

再比如,我們想要查看 Laravel 自帶的 view 函數(shù)是如何實(shí)現(xiàn)的,在輸入框輸入 view 并選中要導(dǎo)航的方法即可:

PhpStorm導(dǎo)航的概述以及導(dǎo)航到類、接口、Trait的介紹  
 

跳轉(zhuǎn)到行、列

最后,在已打開(kāi)的當(dāng)前文件中,可以通過(guò) Command + L 打開(kāi)行列導(dǎo)航操作界面,輸入要導(dǎo)航到的行號(hào)、列號(hào)即可,其中行和列通過(guò)「行號(hào):列號(hào)」進(jìn)行區(qū)分和解析:

PhpStorm導(dǎo)航的概述以及導(dǎo)航到類、接口、Trait的介紹  

列號(hào)一般不設(shè)置,默認(rèn)值為 1。

在圖形化 UI 界面中,通常跳轉(zhuǎn)到指定行、列的需求不大,我們可以通過(guò)鼠標(biāo)和觸摸屏快速定位到指定位置。

 

匯總導(dǎo)航

針對(duì)類、文件、屬性、方法的導(dǎo)航,除了通過(guò)上述方式使用各自獨(dú)立的快捷鍵和操作界面進(jìn)行導(dǎo)航外,在 PhpStorm 中,還可以通過(guò) Shift + Shift 快捷鍵(連按兩次 Shift 鍵)打開(kāi)匯總導(dǎo)航操作界面(對(duì)應(yīng)的功能叫做 Search Everywhere),一次輸入,就可以全局匹配出所有相關(guān)的類、文件、屬性、方法:

PhpStorm導(dǎo)航的概述以及導(dǎo)航到類、接口、Trait的介紹  

是不是非常方便?之所以叫做「Search Everywhere」,是因?yàn)槌诉@些導(dǎo)航功能之外,還可以通過(guò) Actions 對(duì) PhpStorm 系統(tǒng)設(shè)置進(jìn)行快速定位(這個(gè)我們后面會(huì)單獨(dú)介紹),換言之,你想要搜索的一切都可以通過(guò)這個(gè)輸入框完成,也正因?yàn)檫@個(gè)原因,該功能對(duì)應(yīng)的快捷鍵才能位于 PhpStorm 默認(rèn)開(kāi)機(jī)界面的榜首:

PhpStorm導(dǎo)航的概述以及導(dǎo)航到類、接口、Trait的介紹  

日常我們要做任何操作,不管是找文件、找代碼,還是進(jìn)行系統(tǒng)設(shè)置,都可以通過(guò) Shift + Shift 呼出導(dǎo)航界面進(jìn)行快速跳轉(zhuǎn),它會(huì)成為你日常使用 PhpStorm 最頻繁的快捷鍵操作。

 

上下文導(dǎo)航

以上導(dǎo)航都是全局導(dǎo)航,如果是在某一段具體的代碼片段中,我們想要進(jìn)行上下文導(dǎo)航,以 User 模型類的 posts 方法為例:

public function posts()
{
    return $this->hasMany(Post::class, 'user_id');
}
 

如果我們想要查看 hasMany 方法對(duì)應(yīng)的實(shí)現(xiàn)代碼,可以按住 Command 鍵(Windows 下對(duì)應(yīng)的是 Ctrl 鍵),然后鼠標(biāo)/觸摸屏點(diǎn)擊 hasMany 方法,即可跳轉(zhuǎn)到對(duì)應(yīng)的方法實(shí)現(xiàn)代碼:

PhpStorm導(dǎo)航的概述以及導(dǎo)航到類、接口、Trait的介紹    

“PhpStorm導(dǎo)航的概述以及導(dǎo)航到類、接口、Trait的介紹”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI