PHP CLI解释器配置
通过配置 PHP CLI解释器,可使用户在为安装PHP的情况下运行PHP相关代码
点击菜单 File > Settings 在设置中选中 Languages & Frameworks > PHP
点击CLI Interpreter 右侧的 ... 进入 CLI Interpreters管理页面

点击 + 并选择 来源为 From Docker, Vagrant, VM, Remote...

在出现的 Configure Remote PHP Interpreter 中选择来源为 Docker
Server为默认,Image name为先前配置的镜像标签 kyzs:dev
点击OK确定进入CLI Interpreter的编辑页

PHPStorm会自动检测PHP的版本及其配置
这里我们设置debug扩展 Debugger extension 为
/usr/local/php/lib/php/extensions/no-debug-non-zts-20170718/xdebug.so
这样在进行debug调试的时候会自动加载此插件
点击Apply应用配置

配置好后可见下图中Path mappings 与Docker container的文件映射关系已经建立
点击Apply使配置生效并关闭设置界面

PHPUnit单元测试的配置
点击菜单 File > Settings 进入设置
进入 Languages & Frameworks > PHP > Test Frameworks 配置项
点击 + 并选择PHPUnit by Remote Interperter 添加远程运行配置

在解释器的选择界面选择上面设置的 kyzs:dev(7.2.6) 并点击OK确认选择

新增配置默认会自动设置好路径映射关系,如果映射错误可自行修改
PHPUnit library在开元助手的项目中为通过composer加载的,所以我们选择 User Composer autoloader 并设置在容器中 autoloader.php 的绝对路径
设置完毕后会自动检测PHPUnit的版本
可自行根据需要在下方设置PHPUnit的配置文件及bootstrap文件

下面我们选择一个测试用例进行简单的测试
在AuthTest类的中右键并点击 Run 'testLogin' 运行测试

下方的Run面板会展示运行的过程及结果

下面我们添加一个断点,并右键选择 Debug 'testLogin' 进行调试

当程序在运行到断点位置时会自动打开调试界面,方便在开发中调试问题
实例中的项目为当前正在进行的开元助手项目
PHPStorm版本为2018.1.3版本(有每月一次更新的EAP版本可免费使用,建议使用最新的稳定版或EAP版本)
如果有什么建议或意见欢迎提出或在下方评论,有什么问题也可以随时咨询
Windows下如果在运行单元测试时出现 /bin/sh: File not found的提示一般是由于文件的换行格式为CRLF导致的(PHPStorm打开文件后右下角显示为CRLF)
可尝试通过如下方法解决:
在项目根目录打开git bash并运行如下命令
# 设置项目中换行格式为lf
git config core.eol lf
# 删除git中的文件 注意执行前保存好已进行的修改
git ls-files -z | xargs -0 rm
# 检出文件
git checkout .
参考1. How do I force git to use LF instead of CR+LF under windows?
网友评论