首頁 >後端開發 >php教程 >phpStorm如何正確操作

phpStorm如何正確操作

小云云
小云云原創
2018-03-13 14:03:3481902瀏覽

phpStorm正確操作的方法:先下載win版或mac版的phpstorm軟體;然後破解;接著開啟軟體,並匯入程式碼檔案;最後透過「command+f」等快捷鍵進行查詢或修改操作即可。

phpStorm如何正確操作

PhpStorm是JetBrains 公司開發的一款商業的 PHP 整合開發工具。 PhpStorm隨時可協助使用者對其編碼進行調整,執行單元測試或提供視覺化debug功能和智慧型HTML/CSS/JavaScript/PHP編輯、程式碼品質分析、版本控制整合(SVN、GIT)、偵錯和測試等功能。另外,它還是跨平台。在Windows和MacOS下都可以使用。 PhpStorm-讓開發更智能,而不是更困難。

phpstorm的下載與免費啟動:

win版下載位址:http://www.php. cn/xiazai/gongju/122(附安裝、破解和使用教學)

mac版下載位址:http://www.php.cn/xiazai/gongju/510 (附安裝、破解和使用教學)

#聽說phpStorm 10支援php7呃

  1. ##優點

  2. 跨平台。

  3. 對PHP支援refactor功能。

自動產生phpdoc的註釋,非常方便進行大型程式設計。

###內建支援Zencode。 ############產生類別的繼承關係圖,如果有一個類,多次繼承之後,可以透過這個功能查看他所有的父級關係。 ############支援程式碼重構,方便修改程式碼。 ############擁有本機歷史記錄​​功能(local history功能)。 ############方便的部署,可以直接將程式碼直接upload到伺服器。 ###############總之它很屌就是了,什麼都可以幹###

快捷鍵

phpStorm有非常非常多且好用的的快捷鍵,我下面就舉一些常用的的快捷鍵演示,還有一些不常用的就不舉例了,絕對能提高你開發的效力率...

(Windows與Mac類似,只要把command鍵換成ctrl)

查詢相關

  • command + f 尋找目前檔案

  • command + r 尋找替換

  • command + e 開啟最近的檔案

  • command + shift + o 快速查詢檔案

  • command + shift + f 關鍵字尋找,更強大的查詢器(機器不好的,最好還是先確定一下目錄)

  • command + shift + r 進階替換

  • #command + alt + b 找到當剪類的所有子類別

  • alt + shift + c 尋找最近修改的檔案

  • alt + f7 直接查詢選取的字元

  • ctrl + f7 檔案中查詢選取字元

  • ##command +滑鼠點選 跳到類別或方法或變數等宣告處

  • command + shift + tab 切換tab頁檔案

  • command + shift + +,- 展開或縮起

  • command + . 折疊或展開選取的程式碼

  • 自動程式碼

  • alt + 回車 導入包,自動修正

  • #command + n 快事為每個成員屬性產生getter 及setter 方法

  • ctrl + i 快速產生插入魔術方法

  • ctrol + o 複寫父類別方法

  • command + alt + l 對目前檔案進行格式化排版

  • #command + d複製當剪行

    ######command + /### // 註解###############command + shift + /## # /### ###/ 註解###

command + n舉例

我建立了一個Person類別在 /Entity/目錄下,然後我設定一些私有的屬性如下程式碼:

namespace Entity;class Person{    private $sign = '';    private $name = '';    private $age  = 0;    
    private $work = '';    
    private $sex  = '女';
}

然後咱們使用command + n 在彈出來的視窗選擇"PHPDoc Blocks... " 如下圖:

再彈出的視窗選擇所有屬性再點"OK":

namespace Entity;/**
 * Class Person
 * @package Entity
 */class Person{    /**
     * @var string
     */
    private $sign = '';    /**
     * @var string
     */
    private $name = '';    /**
     * @var int
     */
    private $age  = 0;    /**
     * @var string
     */
    private $work = '';    
    /**
     * @var string
     */
    private $sex  = '女';
}

然後它就對剛剛所選屬性加上了註解...... 是不是灰常神奇。

ok,咱們繼續,再次使用command + n鍵選擇Contructor...彈出需要進行傳參賦值的屬性:

    /**
     * Person constructor.
     * @param string $sign
     */
    public function __construct($sign)
    {        $this->sign = $sign;
    }

如果不选择的话将不需要对成员属性进行设置。

然后咱们再来看看其他功能,比如"Implement Methods..."这个是快速生成魔术方法。

通常咱们设置、获取一个成员属性时最好不要直接使用$person->name = $name 这种方式进行设置参数或取得参数值,建议是对每个属性都开放一个 getter 跟 setter 方法,这样可以很方便得对传进或传出去的值进行处理,这就是上面我为什么要把成员属性设置置为私有的原因之一

同样的command + n 选择"Getters and Stetters" 然后选择所有属性,它就会把所有的属性设置gettersetter方法,这里要注意的是Personsign是唯一的,不可进行修改,所以咱们要把设置sign的方法去掉。注意: 最好setter方法设置完后返回当剪对象,这样的话咱们就可以连写了并且phpStorm的提示还相当友好下面有例子:

    /**
     * @return string
     */
    public function getSign()
    {        return $this->sign;
    }    /**
     * @return string
     */
    public function getName()
    {        return $this->name;
    }    /**
     * @param string $name
     * @return $this
     */
    public function setName($name)
    {        $this->name = $name;        return $this;
    }    /**
     * @return int
     */
    public function getAge()
    {        return $this->age;
    }    /**
     * @param int $age
     * @return $this
     */
    public function setAge($age)
    {        $this->age = $age;        return $this;
    }    /**
     * @return string
     */
    public function getWork()
    {        return $this->work;
    }    /**
     * @param string $work
     * @return $this
     */
    public function setWork($work)
    {        $this->work = $work;        return $this;
    }    
    /**
     * @var string
     */
    private $sex  = '女';    /**
     * @return string
     */
    public function getSex()
    {        return $this->sex;
    }    /**
     * @param string $sex
     * @return $this
     */
    public function setSex($sex)
    {        $this->sex = $sex;        
        return $this;
    }

连写的例子:

use Entity\Person;$person = new Person();
$person->setName("蛋蛋")
    ->setAge(17)
    ->setWork('student');

最后再演示一个快速复写被继承类的功能。咱们新建一个Man类,然后继承Person类,上面的Person类缺省是女性别,所以我们需要重写它并且加上"中国男人"。同样的使用command + n打开快捷窗口选择 "Override Methods..." 弹出来可被复写的方法:

然后咱们选择getSexsetSex方法,然后确定,在Man方法下生成以下方法。

namespace Entity;/**
 * Class Man
 * @package Entity
 */class Man extends Person{    /**
     * @return string
     */
    public function getSex()
    {        return parent::getSex(); // TODO: Change the autogenerated stub
    }    /**
     * @param int $sex
     * @return $this
     */
    public function setSex($sex)
    {        return parent::setSex($sex); // TODO: Change the autogenerated stub
    }
}

咱们把return parent::getSex()return parent::setSex( $age )删除掉,不需要这样,然后改成如下模式。

    /**
     * @return string
     */
    public function getSex()
    {        if ( ! mb_strpos(parent::getSex(), "中国") )            return "中国".parent::getSex();        return parent::getSex();
    }    /**
     * @param int $sex
     * @return $this
     */
    public function setSex($sex)
    {        if( ! mb_strpos($sex, "中国") )
            $sex = "中国".$sex;        return parent::setSex($sex);
    }

碉堡了有木有。

工具类等

看起来好多的样纸,我懒,不想讲可不可以?我就挑几个好不好?

  • 連拉ssh 照著配就行了,很簡單

  • composer 這個也很明了吧,不多說了,平時咱們都是透過命令列來實現的

  • vagrant 這個phpstorm 10集成了vagrant,介於咱們自己已經搭建好了自己的vagrant環境,就不使用phpstorm所整合的啦

#參考: 《使用Virtual Box和Vagrant搭建開發環境》

Database 工具

phpStorm所集成的database工具十分強大,當然它還有單獨的database工具叫做: DataGrip,當然需要獨立購買,咱們phpStorm有集成,就使用它好啦哈哈... .(咱們的PhpStorm可是花錢買的,請支持正版)

Database工具一般在右側欄,如果沒有的話搜一下就好了,多簡單的事兒呀...

開始建立一個資料庫連線吧...

選擇如上圖的那個"+"號,然後選擇Data Source資料來源,再選擇資料庫類型,一般咱們都是使用mysql吧,這次咱們試試新的,例如SQLite

選擇#sqlite資料檔案的位址,然後選擇驅動,如果沒有的話得先下載安裝sqlite的驅動插件,這個很簡單,在Driver下有提示,照做就是了...

咱們先看一下mysql的配製吧...

mysql的也非常簡單,如果需要ssh/ssl連線的話,需要在SSH/SSL標籤上配配位址入連線密碼或sshkey...

配製好了,打開選擇的資料庫:

上圖是連接的資料庫的表格及表格欄位資訊... 來示範查詢.. . 點選那"QL"樣的dos視窗圖示會彈出一個tab頁,咱們可以在這裡寫sql語句。

咱們查詢User表下的所有數據,可以看到會有相當提示,這是相當的好使啊...查詢完成後在下面的Database Console上會有顯示表數據,可對它進行修改,等等操作增加數據也可以。

快捷鍵command + alt + l不但對程式碼進行格式化,也sql語句也是非常有效的,如上圖。

在"Database Console"欄上點"Output"標籤可以查看sql語句執行的情況、記錄及所消耗的時間等等資訊...

  • command + 回車 執行sql語句或執行選取的sql語句

#關於database工具的用法還有很多很多,我就不一一講解了,大家可以自己慢慢去研究,真的非常好用

CVS 和Git

  • ##command + k

  • command + shift + k

關於FTP的配製,由於我不建議使用,所以這裡就不多說!

都到這了,那咱們就說說在phpStorm上如何使用git工具吧

算了,還是舉一個例子吧,配辣麼多太累了,一會兒我看下有沒有已經配好的,如果有的話一會拉出來截個圖看看就行吧,反正現在svn用得也比較少了,還是git用得爽,分佈式嘛,離線嘛,多好...關於svn -> git可以參考我之前寫的一篇文章

《將程式碼庫從Svn遷移Git》

#從git伺服器上把程式碼抓到本地

選擇CVS -> Checkout from Version Control -> Git

在彈出的視窗輸入自己的git倉庫資訊:

#注意conle 的時間如果沒有設定你的github帳號的話可能會提示你輸入帳號訊息,咱們輸入就行了。如果需要修改的話則在設定裡面進行修改,咱們可以使用command + ,打開"Preferences" 然後找到"Version Control"選項目的"GitHub"進行設置,還有"Git"路徑。

從mster建立分支

建立分支以透過命令列進行創建,咱們可以透過phpstrom的視窗進行創建,如下:

這個東西在右下角,"Git:master" 然後彈出上面視窗選擇"New Branch" 然後輸入新分支的名稱就好了,它會自動切換到新分支下。

是不是超級簡單呀...

提交程式碼到遠端分支

當咱們修改完程式碼後,咱們需要把程式碼提交到遠端分支上,使用快捷鍵command + k提交相當修改後的程式碼,雙擊檔案可以進行比較。在"Commit Message"寫上修改的東西然後點提交,這時就把程式碼提交到本地分支上了。

不使用快捷鍵的話,可以使用"CVS -> Commit Changes"提交,也會彈出下面視窗...

提交到本地分支後,咱們需要把程式碼推到遠端分支上,所以需要使用快速鍵: command + shif + k提交遠端分支...

也可以使用"CVS -> Git -> Push"提交...效果是一樣的

注意svn木有  command + shift + k這一步

合併分支

分數並非常簡單,只要選擇需要合併的分支,然後merge就行了,如下圖:

這樣就合併完成,當然,如果有衝突的話會提交有衝突,並讓你解決,如果沒有的話就直接合併成功了...然後就可以push了......

Compare 是對合併的分支進行比較...

使用svn...

灰常抱歉,我電腦上木有找到相關Svn專案的程式碼,就不多說了...

安裝外掛程式

這裡講一個javascript 的安裝,使用快捷鍵cmd + , 打開Preferances

安裝JavaScript 外掛程式

#Languages & Frameworks  -> Javascript -> Libraries

選擇add所需的框架

安裝symfony2插件,搜尋插件,然後點install

#然後重啟phpStorm 就完事了....

注意

  • 灰色+波浪線: 變數未使用

  • 黃色波浪線: 變數未名單字拼字問題

  • 紅色波浪線: 變數未定義

  • 還有我就不一一舉例了,可能是因為我程式碼寫得太好,出錯的東西比較少吧...

右邊欄出現紅色,這點是必須要杜絕的,好的程式碼不應該出現紅色的任何提示...一旦出現一定要馬上解決,好的程式碼不應該出現一個黃、紅色的提示。

TODO 表示待辦事件,當提交到vcs、svn或git的時候,會提示是還有未處理的事件,需要確認提交。

相關推薦:

使用phpstorm進行PHP斷點偵錯

PHP利用PHPstorm的自動提示功能詳解

#PHPstorm快速鍵介紹總結

以上是phpStorm如何正確操作的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn