🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
![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` 启用调试 ![](http://7xt8co.com1.z0.glb.clouddn.com/pic/phpstorm/20160730013432.jpg) ## 配置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, 跟着我配置 ![](http://7xt8co.com1.z0.glb.clouddn.com/pic/phpstorm/20160730013914.jpg) 4. 选择配置,启动监听 ![](http://7xt8co.com1.z0.glb.clouddn.com/pic/phpstorm/20160730014153.jpg) 这两者缺一不可, > 注意每次重新启动phpstorm都要`重新启动监听` ## 启动debug 确保下面的配置 ![](http://7xt8co.com1.z0.glb.clouddn.com/pic/phpstorm/20160730014154.jpg) 在浏览器中访问`http://localhost/test/` 在phpstorm中就会有如下的反应,具体如下图 ![](http://7xt8co.com1.z0.glb.clouddn.com/pic/phpstorm/20160730015904.jpg) 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"; ``` ![](http://7xt8co.com1.z0.glb.clouddn.com/pic/phpstorm/20160730022048.jpg) enjoy it # Database ## 连接 ![](http://7xt8co.com1.z0.glb.clouddn.com/pic/phpstorm/20160730022634.jpg) ![](http://7xt8co.com1.z0.glb.clouddn.com/pic/phpstorm/20160730023152.jpg) ## 使用 - 图形化方式 点击刚才创建的数据库, 右键 > `synchronize` ![](http://7xt8co.com1.z0.glb.clouddn.com/pic/phpstorm/20160730024428.jpg) 双击右边的表,就可以打开一个表的实例 ## 使用 - 命令行形式 ![](http://7xt8co.com1.z0.glb.clouddn.com/pic/phpstorm/20160730024845.jpg) 1. 进入命令行的按钮 2. 命令输入窗,按`CTRL+ENTER`执行 3. 查询结果窗 # FTP on PhpStorm ## 配置 ### 参数设置 Tools>Deployment(部署)>Configuration(配置)> + (右上角, 输入名字), 如下图 ![](http://7xt8co.com1.z0.glb.clouddn.com/pic/phpstorm/20160802164943.jpg) 1. 输入帐号信息, 注意保存密码 2. 在高级选项中一定要勾选`Always use LIST command`,我在windows下是吃尽了苦头 不然会报错`Connection to '*'failed. Invalid descendent file name "/"`,如下图 ![](http://7xt8co.com1.z0.glb.clouddn.com/pic/phpstorm/20160802165018.jpg) 3. 测试连接, 如果勾上了`Always use LIST command` ![](http://7xt8co.com1.z0.glb.clouddn.com/pic/phpstorm/20160802165004.jpg) ### 映射设置 ![](http://7xt8co.com1.z0.glb.clouddn.com/pic/phpstorm/20160802181847.jpg) ## 上传文件 你可以在这里查看修改的文件, 并只上传修改的文件 ![](http://7xt8co.com1.z0.glb.clouddn.com/pic/phpstorm/20160802170248.jpg) ## 更多的文件操作 请自己发现右键菜单或者其他菜单上面的`Deployment`选项操作 # Git on PhpStorm 只建议有Git经验的人阅读, 至少简单的Git操作要会(新建仓库, 提交修改, push)如果本身就是一个git的项目,`ps`会自动识别出来, 如果不是的话, 可以手动导入Git项目, 下面有一个典型的`Version Control`的选项卡 ![](http://7xt8co.com1.z0.glb.clouddn.com/pic/phpstorm/20160802162848.jpg) 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