PhpStorm是一個輕量級且便捷的PHP IDE,其旨在提供用戶效率,可深入理解用戶的編碼,提供智能代碼補全,快速導航以及即時錯誤檢查。javascript
百科簡介: PhpStorm 是 JetBrains 公司開發的一款商業的 PHP 集成開發工具。PhpStorm可隨時幫助用戶對其編碼進行調整,運行單元測試或者提供可視化debug功能和智能HTML/CSS/JavaScript/PHP編輯、代碼質量分析、版本控制集成(SVN、GIT)、調試和測試等功能。另外,它仍是跨平臺。在Windows和MacOS下均可以使用。PhpStorm-讓開發更智能,而不是更困難。php
跨平臺。java
對PHP支持refactor功能。mysql
自動生成phpdoc的註釋,很是方便進行大型編程。git
內置支持Zencode。github
生成類的繼承關係圖,若是有一個類,屢次繼承以後,能夠經過這個功能查看他全部的父級關係。sql
支持代碼重構,方便修改代碼。數據庫
擁有本地歷史記錄功能(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" 而後選擇全部屬性,它就會把全部的屬性設置getter
及setter
方法,這裏要注意的是Person
的sign
是惟一的,不可進行修改,因此我們要把設置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..." 彈出來可被複寫的方法:
而後我們選擇getSex
跟setSex
方法,而後肯定,在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搭建開發環境》
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工具的用法還有不少不少,我就不一一講解了,你們能夠本身慢慢去研究,真的很是好用
command + k
command + shift + k
關於FTP的配製,因爲我不推薦使用,因此這裏就很少說啦!
都到這了,那我們就說說在phpStorm上如何使用git工具吧
算了,仍是舉一個例子吧,配辣麼多太累了,一會我看下有沒有已經配好的,若是有的話一會拉出來截個圖看看就行吧,反正如今svn用得也比較少了,仍是git用得爽,分佈式嘛,離線嘛,多好...關於svn -> git能夠參考我以前寫的一篇文章
選擇CVS -> Checkout from Version Control -> Git
在彈出的窗口輸入本身的git倉庫信息:
注意 conle 的時間若是沒有設置你的github帳號的話可能會提示你輸入帳號信息,我們輸入就好了。若是須要修改的話則在設置裏面進行修改,我們可使用command + ,
打開"Preferences" 而後找到"Version Control"選項目的"GitHub"進行設置,還有"Git"路徑。
建立分支以經過命令行進行建立,我們能夠經過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項目的代碼,就很少說了...
這裏講一個javascript 的安裝,使用快捷鍵cmd + ,
打開 Preferances
安裝 JavaScript 插件
Languages & Frameworks
-> Javascript
-> Libraries
選擇add須要的框架
安裝symfony2插件,搜索插件,而後點install
而後重啓phpStorm 就完事了....
灰色+波浪線: 變量未使用
黃色波浪線: 變量未名單詞拼寫問題
紅色波浪線: 變量未定義
還有好多我就不一一舉例了,多是由於我代碼寫得太好,出錯的東西比較少吧...
右邊欄出現紅色,這點是必需要杜絕的,好的代碼不該該出現紅色的任何提示...一旦出現必定要立刻解決,好的代碼不該該出現一個黃、紅色的提示。
TODO 表示待辦事件,當提交到vcs、svn或git的時候,會提示是還有未處理的事件,須要確認提交。
寫得有點多了,想寫的東西比較多,要不分兩篇寫好了?算了,我比較懶,就這樣吧,等我之後想寫了再寫吧,謝謝閱讀!!!!!
其實有不少東西能夠寫的,我只是想偷懶而已......