Xdebug使用Dbgp协议与PHPStorm通信过程

向 IDE 发起连接请求 <?xml version="1.0" encoding="ISO-8859-1"?> <init appid="1" idekey="PHPSTORM" language="PHP" protocol_version="1.0" fileuri="" xmlns="urn:debugger_protocol_v1"> <engine version="1.0.0"> <![CDATA[SDB]]> </engine> <author> <![CDATA[Chance]]> </author> </init> feature_set -i 1 -n show_hidden -v 1 feature_set:命令名称,用于设置调试器的功能。 -i 1:命令的唯一标识符,用于在调试器和 IDE 之间进行通信。 -n show_hidden:要设置的功能名称,即显示隐藏变量。 -v 1:功能的值,表示要显示隐藏变量。 回复: <?xml version="1.0" encoding="ISO-8859-1"?> <response xmlns="urn:debugger_protocol_v1" command="feature_set" transaction_id="1" feature="show_hidden" success="1"/> stdout -i 8 -c 1 stdout:命令名称,用于将输出发送到调试器的控制台。 -i 8:命令的唯一标识符,用于在调试器和 IDE 之间进行通信。 -c 1:输出的内容类型,表示输出的是文本内容。 回复: <?xml version="1.0" encoding="ISO-8859-1"?> <response xmlns="urn:debugger_protocol_v1" command="stdout" transaction_id="8" success="1"/> status -i 9 status:命令名称,用于查询调试器的状态。 -i 9:命令的唯一标识符,用于在调试器和 IDE 之间进行通信。 回复: <?...

2023-03-29 · 2 分钟

IDE进入Docker容器输出中文乱码

如下图所示,中文字符输出为乱码。 解决 如下图所示编辑 VM Options ,添加一行 -Dfile.encoding=UTF-8并重启 IDE 。

2022-01-22 · 1 分钟

在PhpStorm中使用PHPUnit进行单元测试

PHPUnit 是什么 PHPUnit 是一个面向 PHP 程序员的测试框架,这是一个 xUnit 的体系结构的单元测试框架。 PHPUnit 的官网地址为:https://phpunit.de/,中文镜像网站:http://www.phpunit.cn/。 安装 PHPUnit PHPUnit 有两种安装方式,一种是下载 PHAR 发行包进行全局安装,一种是使用 composer 来为某一个项目安装。 推荐使用 composer 安装,本文也是使用这种安装方式。 首先以上一篇文章创建的空的 composer 包为基础,执行以下命令即可。 root@d63b4f236f0c:/home# composer require --dev phpunit/phpunit 编写 PHPUnit 测试 首先在项目下面新建一个tests文件夹,用来存放单元测试文件。 然后编辑 composer.json 文件为 tests 文件夹增加一个命名空间"Chance\\Log\\Test\\": "tests/"并执行composer dump-autoload更新 composer 的命名空间与文件夹映射关系。 在 tests 目录创建 StackTest.php 文件,使用官网的一个例子来测试。 StackTest.php <?php namespace Chance\Log\Test; use PHPUnit\Framework\TestCase; class StackTest extends TestCase { public function testPushAndPop() { $stack = []; // 断言方法 assertEquals 判断两值是否相等 $this->assertEquals(0, count($stack)); array_push($stack, 'foo'); $this->assertEquals('foo', $stack[count($stack)-1]); $this->assertEquals(1, count($stack)); $this->assertEquals('foo', array_pop($stack)); $this->assertEquals(0, count($stack)); } } 命令行执行单元测试 运行....

2021-12-19 · 1 分钟