You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何配置Psalm使得调用die或exit时自动触发报错?

配置Psalm拦截die/exit调用的方法

你可以通过Psalm内置的forbiddenFunctions规则实现这个需求,具体配置方式如下:

基础配置(所有die/exit调用都报错)

在你的项目根目录的psalm.xml配置文件中,新增forbiddenFunctions节点配置:

<psalm>
    <!-- 其余原有配置保持不变 -->
    <forbiddenFunctions>
        <function name="die" errorType="error" />
        <function name="exit" errorType="error" />
    </forbiddenFunctions>
</psalm>

配置说明:

  • errorType="error" 表示调用这两个函数时Psalm会抛出错误级别的提示,可阻断CI/CD流程
  • 如果只需要提醒不需要阻断,可以把errorType改成warning

兼容历史存量调用(仅拦截新增的die/exit)

如果你的项目里已经有大量历史die/exit调用不需要处理,只需要禁止新写的调用,可以配合Psalm基线功能实现:

  1. 先执行命令生成存量问题的基线文件:
    psalm --set-baseline=psalm-baseline.xml
  2. 在psalm.xml中引入基线配置:
<psalm>
    <baseline filename="psalm-baseline.xml" />
    <!-- 其余原有配置保持不变 -->
    <forbiddenFunctions>
        <function name="die" errorType="error" />
        <function name="exit" errorType="error" />
    </forbiddenFunctions>
</psalm>

配置完成后,基线文件中已记录的历史调用不会触发报错,只有新增的die/exit调用才会被拦截。

特殊场景豁免

如果有合法场景确实需要使用die/exit,可以在对应调用代码的上一行添加注释临时豁免规则:

/** @psalm-suppress ForbiddenFunction */
die('合法的终止场景提示');

内容的提问来源于stack exchange,提问作者FabianTe

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 05:24:05