![tools][1]
PHPSTORM 確實是一款非常好用的生產力工具, 他的代碼提示, 檢錯, 重構, 調試都非常的棒, 而且自帶的文件歷史功能好用的我都快哭了(幫我挽救了沒來得及提交到git的代碼), 其實phpstorm不只可以寫php, 寫javascript(包括node),html,css也是極好的, webstorm的功能他全部都有, 并且還有很多的好用的插件, 針對thinkphp的ThinkStorm,針對yii的yiistorm
# 官方網站
[https://www.jetbrains.com/phpstorm](https://www.jetbrains.com/phpstorm/)
環境說明:
php環境: phpstudy(php5.3以上, apache)
# xdebug
使用xdebug可以非常方便的調試代碼, 找出錯誤, 其實除了找出錯誤還可以很方便的走框架流程或者學習第三方sdk, 運行到內部看他是怎么寫的
## 啟用xdebug插件
- 右鍵點擊右下角的`phpstudy`, PHP擴展及設置>PHP擴展>Xdebug 勾上
- 右鍵點擊右下角的`phpstudy`, 打開配置文件>php-ini,找到xdebug的配置項,保證有以下的配置
```
; XDEBUG Extension
zend_extension="C:\application\phpStudy\php53\ext\xdebug.dll"
;此路徑和你的安裝phpstudy目錄有關哦
[xdebug]
xdebug.remote_enable = On
xdebug.remote_handler=dbgp
xdebug.remote_host= 127.0.0.1
xdebug.remote_port = 9000
xdebug.idekey="PHPSTORM"
```
## chrome安裝Xdebug helper擴展
進入`chrome網上應用商店`, 搜索&安裝 `Xdebug helper`
啟用調試

## 配置phpstorm
1. 確保phpstorm里面xdebug的port也是9000(同wamp的xdebug端口) : File>Setting在搜索框里面搜索xdebug
2. 在網站目錄下新建一個目錄`test`, 用phpstorm在這個目錄下新建一個項目,并新建一個index.php文件,內容如下
```php
<?php
$a = 'Hello ';
$b = 'phpstorm';
echo $a . $b;
?>
```
在$b...那一行打一個斷點,就是在行號后面點一下,就會有一個暗紅的點里面還有一個勾出來
3. 在phpstorm工具欄的, Run>Edit Configurations, 跟著我配置

4. 選擇配置,啟動監聽

這兩者缺一不可,
> 注意每次重新啟動phpstorm都要`重新啟動監聽`
## 啟動debug
確保下面的配置

在瀏覽器中訪問`http://localhost/test/`
在phpstorm中就會有如下的反應,具體如下圖

1. Show execution point 定為到斷點處
2. Step over下一條語句
3. Step into 進入函數
4. Force step into 強行進入
5. Step out
6. Run to cursor 運行到光標處
7. Frames 顯示調用的文件
8. Resume program
9. Stop
10. View Breakpoints
11. Mute Breakpoints
12. console 這個必須要好好講一下,可以直接寫php代碼,但你還沒有釋放調試,你可以嘗試在console處輸入以下的代碼,你會發現,輸入的代碼實時的反饋到了內存
```php
$a = "suprise";
```

enjoy it
# Database
## 連接


## 使用 - 圖形化方式
點擊剛才創建的數據庫, 右鍵 > `synchronize`

雙擊右邊的表,就可以打開一個表的實例
## 使用 - 命令行形式

1. 進入命令行的按鈕
2. 命令輸入窗,按`CTRL+ENTER`執行
3. 查詢結果窗
# FTP on PhpStorm
## 配置
### 參數設置
Tools>Deployment(部署)>Configuration(配置)> + (右上角, 輸入名字), 如下圖

1. 輸入帳號信息, 注意保存密碼
2. 在高級選項中一定要勾選`Always use LIST command`,我在windows下是吃盡了苦頭
不然會報錯`Connection to '*'failed. Invalid descendent file name "/"`,如下圖

3. 測試連接, 如果勾上了`Always use LIST command`

### 映射設置

## 上傳文件
你可以在這里查看修改的文件, 并只上傳修改的文件

## 更多的文件操作
請自己發現右鍵菜單或者其他菜單上面的`Deployment`選項操作
# Git on PhpStorm
只建議有Git經驗的人閱讀, 至少簡單的Git操作要會(新建倉庫, 提交修改, push)如果本身就是一個git的項目,`ps`會自動識別出來, 如果不是的話, 可以手動導入Git項目,
下面有一個典型的`Version Control`的選項卡

1. 普通的commit是要先add再commit, 用了`ps`直接用commit吧
2. 把修改的內容丟棄掉
3. 差異對比
4. 上傳到FTP, 如果你配置了FTP的話
5. 顯示歷史,`ps`提供了一個本地的文件歷史管理, 有時候能救你一命
6. 一些不常用的操作
7. 倉庫的操作
- Git branch/merge/clone/fetch/pull/push/rebase
# RESTful測試工具
這個工具臨時或者偶爾使用還是可以的, 如果需要批量使用, 推薦[`postman`](http://www.getpostman.com)
如果要使用請打開`Tools` > `Test RESTful Web Service`
## 請求配置
![圖片描述][2]
<1> 提交請求
<2> 調試提交請求, 可以配合xdebug使用, 可以斷點, 其實就是在cookie中加入XDEBUG_SESSION:PHPSTORM
<3> 歷史
<4> 導出
<5> 導入
<6> 產生認證頭
<7> 配置http代理
![圖片描述][3]
## 響應
![圖片描述][4]
左邊有格式化請求
支持格式化`json`, `xml`, `html`, `text`
enjoy it !
[1]: https://segmentfault.com/img/bVCT8T
[2]: https://segmentfault.com/img/bVCUk1
[3]: https://segmentfault.com/img/bVCUk2
[4]: https://segmentfault.com/img/bVCUk3