salamikola/laravel-ddscanner

该软件包会扫描 Laravel 项目以删除或注释掉 dd/ddd 函数的实例

v1.0.1 2023-03-10 08:08 UTC

This package is auto-updated.

Last update: 2024-09-10 11:43:43 UTC


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(),这可能会阻止命令执行。

如果您像我一样不喜欢软件包,您可以查看我的 网站,我在那里讨论了您可以考虑的替代方案。

作者

许可证

MIT

🚀 关于我

您可以在我的网站 www.weekreed.com 上找到我的一些趣事。

致谢