问题标签 [psalm-php]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
55 浏览

php - PHPDoc & Psalm - 注释一个“类数组”

在我的代码中,我创建了一个这样的 EventFactory:

PostCreatedEvent和ExerciseExecutedEvent扩展了一个抽象类Event

你能告诉我是否有办法以不从 Psalm 接收错误的方式注释数组?

0 投票
0 回答
100 浏览

php - 诗篇不再看到错误

我带着我生命中最奇怪的问题之一来到这里。突然 psalm 停止在我的代码中看到任何错误。我正在解决一些问题,然后突然间我不再从 psalm 中得到错误。我知道其中有很多,因为我过去常常忽略其中的一些psalm.xml。现在我回滚到master(稳定代码),并从配置中删除了所有异常。依然没有。

诗篇.xml:

请注意,我删除了大约 20 个issueHandlers会触发错误的条目(只是为了测试 psalm 是否有效)。

命令: sudo -u wwwbm -E -H /usr/bin/php -d memory_limit=2048M vendor/bin/psalm

输出:

我被困住了。我什至不确定它在什么时候停止显示错误,实际上只是在编码的中间。

我知道这个问题现在太宽泛了,所以我会尽量让它更严格一点:

有没有办法调试诗篇?任何类型的详细模式,或者可能存在任何用于 lib 的内部调试系统?我真的快疯了。

诗篇版本: 3.18.2

0 投票
0 回答
44 浏览

php - 有没有办法正确使用 sanitize_text_field 和 wp_unslash 不会导致 psalm 出现“期望字符串,可能是不同类型”的错误

我正在编写一个 WordPress 插件,并且需要正确地取消斜线并清理 PHP 中的变量。我使用 psalm 作为我的静态分析工具,它将我的代码识别为包含潜在错误:

诗篇显示这是一个错误(或警告,取决于我设置的诗篇级别):

我已经尝试了各种其他方式来安排上面的代码,以防止 psalm 不显示此警告,但我做不到。(是的,我知道显示消息的原因是因为 wp_unslash可以返回字符串数组)。

例如,如果我将代码拆分:

然后我收到以下诗篇错误:

有没有办法安排这段代码(不压制消息),既能让 psalm 开心,又能符合 WordPress 编码标准(例如,你应该在清理之前取消斜线)?

0 投票
1 回答
16 浏览

php - 如果在进一步检查之前没有修改属性,如何告诉 psalm 保存 getter 状态?

对于此代码片段,psalm 将返回类似PossiblyNullOperand或类似的错误。我知道这是一种预期的行为,可以像这样修复:

但是在 psalm 中是否有一个配置参数,它会忽略这些错误,比如 getter 总是返回相同的结果?

诗篇版本:4.18.x

0 投票
1 回答
48 浏览

php - 使用 phpdocblock 在 php 中定义方法/函数的通用返回

有没有办法指定函数将返回特定类型的对象,其中类型是参数之一的字符串?

例如

这样当我这样做时 vscode 或 phpstorm 就会知道

$myvar 将是 MyClass 类型,我将拥有适当的智能感知/自动完成功能吗?