如何配置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基线功能实现:
- 先执行命令生成存量问题的基线文件:
psalm --set-baseline=psalm-baseline.xml - 在
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
相关产品推荐
相关产品推荐

