0

0

如何使用Composer和ekino/phpstan-banned-code解决PHP项目中的调试代码问题?

WBOY

WBOY

发布时间:2025-04-25 19:18:20

|

819人浏览过

|

来源于php中文网

原创

可以通过以下地址学习 composer学习地址

在开发过程中,我遇到了一个棘手的问题:项目中残留了大量的调试代码,如 var_dumpexit 等。这些代码在开发阶段非常有用,但在生产环境中却成了隐患。它们不仅会导致性能问题,还可能泄露敏感信息。为了解决这个问题,我决定使用 ekino/phpstan-banned-code 库,通过 Composer 来检测和禁止这些调试代码。

首先,通过 Composer 安装 ekino/phpstan-banned-code 库非常简单,只需运行以下命令:

composer require --dev ekino/phpstan-banned-code

如果使用了 PHPStan 的扩展安装器,安装后就已经完成了配置。如果没有使用扩展安装器,则需要在你的 PHPStan 配置文件中包含 extension.neon 文件:

includes:
    - vendor/ekino/phpstan-banned-code/extension.neon

接下来,可以通过配置文件来定制你想要检测的代码类型。例如,禁止 echoevaldie/exit 以及一系列调试函数:

立即学习PHP免费学习笔记(深入)”;

元典智库
元典智库

元典智库:智能开放的法律搜索引擎

下载
parameters:
    banned_code:
        nodes:
            # 检测 echo
            -
                type: Stmt_Echo
                functions: null

            # 检测 eval
            -
                type: Expr_Eval
                functions: null

            # 检测 die/exit
            -
                type: Expr_Exit
                functions: null

            # 检测一系列函数
            -
                type: Expr_FuncCall
                functions:
                    - dd
                    - debug_backtrace
                    - dump
                    - exec
                    - passthru
                    - phpinfo
                    - print_r
                    - proc_open
                    - shell_exec
                    - system
                    - var_dump

            # 检测 print 语句
            -
                type: Expr_Print
                functions: null

            # 检测反引号执行 shell 命令
            -
                type: Expr_ShellExec
                functions: null

        # 检测非测试文件中使用测试命名空间
        use_from_tests: true

        # 设置错误是否可忽略
        non_ignorable: false # 默认是 true

通过这种方式,ekino/phpstan-banned-code 库可以帮助我们在代码审查和 CI 流程中自动检测这些不规范的代码,确保它们不会出现在生产环境中。

使用 ekino/phpstan-banned-code 的优势在于,它不仅可以检测常见的调试代码,还可以根据项目需求定制检测规则,灵活性极高。实际应用中,我发现它大大减少了人工审查的工作量,同时提高了代码的规范性和安全性。

总之,借助 Composer 和 ekino/phpstan-banned-code 库,我们可以轻松地解决 PHP 项目中调试代码的问题,确保项目的高质量和安全性。

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
composer是什么插件
composer是什么插件

Composer是一个PHP的依赖管理工具,它可以帮助开发者在PHP项目中管理和安装依赖的库文件。Composer通过一个中央化的存储库来管理所有的依赖库文件,这个存储库包含了各种可用的依赖库的信息和版本信息。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

155

2023.12.25

2026赚钱平台入口大全
2026赚钱平台入口大全

2026年最新赚钱平台入口汇总,涵盖任务众包、内容创作、电商运营、技能变现等多类正规渠道,助你轻松开启副业增收之路。阅读专题下面的文章了解更多详细内容。

33

2026.01.31

高干文在线阅读网站大全
高干文在线阅读网站大全

汇集热门1v1高干文免费阅读资源,涵盖都市言情、京味大院、军旅高干等经典题材,情节紧凑、人物鲜明。阅读专题下面的文章了解更多详细内容。

32

2026.01.31

无需付费的漫画app大全
无需付费的漫画app大全

想找真正免费又无套路的漫画App?本合集精选多款永久免费、资源丰富、无广告干扰的优质漫画应用,涵盖国漫、日漫、韩漫及经典老番,满足各类阅读需求。阅读专题下面的文章了解更多详细内容。

33

2026.01.31

漫画免费在线观看地址大全
漫画免费在线观看地址大全

想找免费又资源丰富的漫画网站?本合集精选2025-2026年热门平台,涵盖国漫、日漫、韩漫等多类型作品,支持高清流畅阅读与离线缓存。阅读专题下面的文章了解更多详细内容。

7

2026.01.31

漫画防走失登陆入口大全
漫画防走失登陆入口大全

2026最新漫画防走失登录入口合集,汇总多个稳定可用网址,助你畅享高清无广告漫画阅读体验。阅读专题下面的文章了解更多详细内容。

11

2026.01.31

php多线程怎么实现
php多线程怎么实现

PHP本身不支持原生多线程,但可通过扩展如pthreads、Swoole或结合多进程、协程等方式实现并发处理。阅读专题下面的文章了解更多详细内容。

1

2026.01.31

php如何运行环境
php如何运行环境

本合集详细介绍PHP运行环境的搭建与配置方法,涵盖Windows、Linux及Mac系统下的安装步骤、常见问题及解决方案。阅读专题下面的文章了解更多详细内容。

0

2026.01.31

php环境变量如何设置
php环境变量如何设置

本合集详细讲解PHP环境变量的设置方法,涵盖Windows、Linux及常见服务器环境配置技巧,助你快速掌握环境变量的正确配置。阅读专题下面的文章了解更多详细内容。

0

2026.01.31

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
第二十四期_PHP8编程
第二十四期_PHP8编程

共86课时 | 3.4万人学习

成为PHP架构师-自制PHP框架
成为PHP架构师-自制PHP框架

共28课时 | 2.5万人学习

第二十三期_PHP编程
第二十三期_PHP编程

共93课时 | 6.9万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号