C'è un modo per rilevare quale livello di verbosità l'utente ha specificato durante la creazione di un comando artisan personalizzato? Non vedo nulla al riguardo nei documenti.Utilizzo di verbose nei comandi di Laravel artisan
10
A
risposta
17
C'è la funzione getVerbosity()
in Symfony\Component\Console\Output\OutputInterface
ed è possibile utilizzare $this->getOutput()
per recuperare l'oggetto di output.
$verbosityLevel = $this->getOutput()->getVerbosity();
È quindi possibile confrontare il livello alle costanti definite all'interno OutputInterface
. Ad esempio:
if($verbosityLevel >= OutputInterface::VERBOSITY_VERBOSE){
// show verbose messages
}
Bello! Darò un giro. Ho anche scoperto che $ this-> option ('verbose') funziona per darti un semplice booleano. (Non copre -v vs -vvv, comunque) – Anthony
Cool non sapeva di 'opzione ('verbose')' – lukasgeiter
Si potrebbe anche usare '$ this-> output-> isVerbose()' [api.symfony. com/3,1/...] (http://api.symfony.com/3.1/Symfony/Component/Console/Output/OutputInterface.html#method_isVerbose). 'isVerbose()' è '-v',' isVeryVerbose() 'è' -vv', 'isDebug()' è '-vvv'. – bzeaman