salamikola / laravel-ddscanner
该软件包会扫描 Laravel 项目以删除或注释掉 dd/ddd 函数的实例
Requires
- illuminate/console: ^8.0|^9.0|^10.0
- illuminate/support: ^8.0|^9.0|^10.0
README
Laravel DDScanner 是一个 Laravel 控制台软件包,它可以扫描并删除 Laravel 项目中 dd() 和 ddd() 函数的实例。Laravel DDScanner 建立在 Laravel 命令之上,并利用了优雅的 Laravel 控制台功能。
动机
此软件包灵感来源于一个不幸的事件,dd() 不小心进入了生产环境并引发了灾难。在那之后的一个周末,我不得不在 CI/CD 中创建一个 artisan 命令来帮助防止 dd() 滑入生产环境。长话短说,这个命令现在已经成为了一个软件包。
安装
要将 Laravel-ddscanner 的最新版本添加到您的项目中,请在 "composer" 中要求它
$ composer require salamikola/laravel-ddscanner
或者您可以直接在 composer.json 文件中添加它
{ "require": { "salamikola/laravel-ddscanner": "1.0*" } }
Laravel
在您的 app 配置文件 config/app.php 中直接注册提供者
'providers' => [
// ...
Salamikola\LaravelDDScanner::class,
]
用法
前往您的项目根目录终端并输入以下命令
php artisan dd:scanner
默认情况下,这将查找 laravel 根目录中的 app 文件夹并递归扫描到最后一个文件。
如果您想指定起始路径,您可以通过在命令中添加 --path 来定义它
php artisan dd:scanner --path=C:\laragon\www\weekreed\app\Services
如果您希望扫描器仅遍历顶层目录而不扫描子目录,您应添加 --t 标志
php artisan dd:scanner --path=C:\laragon\www\weekreed\app\Http --t
如果您希望对递归级别有更多控制,应使用 --rl 选项
php artisan dd:scanner --path=C:\laragon\www\weekreed\app\Http --rl=2
扫描器将在第 2 级子目录处停止 NOTE: rl 代表递归级别,不建议同时使用 --t 和 --rl=
由于典型的 Laravel 项目可以包含不同的文件扩展名,例如 .php、.blade.php 等,您可以使用 --ext 选项指定要扫描的文件类型
php artisan dd:scanner --ext=php --ext=blade.php
NOTE : --ext 选项可以接受多个值
如果您的 dd() 被注释而不是删除,请使用 --comment 标志
php artisan dd:scanner --comment
在所有这些操作之后,如果您想查看所有测试为 dd 正面的文件,可以使用 --s 标志来显示所有受扫描影响的文件
php artisan dd:scanner --s
您可以使用 --help 选项查看所有选项及其描述
php artisan dd:scanner --help
NOTE
由于 Laravel 在启动应用程序时启动提供者,因此您的提供者中可能包含 dd(),这可能会阻止命令执行。
如果您像我一样不喜欢软件包,您可以查看我的 网站,我在那里讨论了您可以考虑的替代方案。
作者
许可证
🚀 关于我
您可以在我的网站 www.weekreed.com 上找到我的一些趣事。