[10.x] Add runningConsoleCommand(...$commands) method #48751
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
What
This PR adds a method
runningConsoleCommand(...$commands)
which returnstrue
if the application is running a given artisan console command.Note: This is the same as #48731 except I decided not to update the interface so it can be released in 10.x.
How to Use
The method can be used like so:
Why
In our local environment we enable things like PreventLazyLoading and PreventSilentlyDiscardingAttributes. We ran into an issue where our Seeders were throwing these exceptions, and wanted a way to disable them when seeding the database. But there wasn't an easy way to determine if the
db:seed
or themigrate:fresh
commands were being run.Methods with similar purposes are
app()->runningInConsole()
andapp()->runningUnitTests()
.Inspiration
This code is based on a similar method already present in laravel/telescope: