如何检查 Laravel 控制台命令是否存在?
How check if a Laravel Console Command Exists?
我需要检查 Laravel 控制台命令是否存在,以及它是否在受保护的命令 var 中以调用它们。
我需要从另一个 Laravel 控制台命令调用它们。我想知道是否有类似 exists_command('mycommand:foo')
有什么办法可以实现吗?
php artisan list
将显示所有可能的 artisan 命令。有一个包含您自己创建的命令的 'command' 小节。
你可以这样称呼它们
php artisan command:MyCreatedCommand
编辑:要检查项目中是否存在命令,您可以使用 php class_exists 函数
if(class_exists('App\Console\Commands\MyCommandName')){
//Do whatever
}
已测试并正常工作。
function command_exists($name)
{
return array_has(\Artisan::all(), $name);
}
if (command_exists('config:cache')) {
// success
}
虽然@Sandeesh是对的,但我们可以这样查看:
function exists_command($name)
{
return array_key_exists($name, \Artisan::all());
}
if (exists_command('mycommand:foo')) {
// success
}
即使是更短的方式,
function exists_command($name)
{
return $this->getApplication()->has($name);
}
我需要检查 Laravel 控制台命令是否存在,以及它是否在受保护的命令 var 中以调用它们。
我需要从另一个 Laravel 控制台命令调用它们。我想知道是否有类似 exists_command('mycommand:foo')
有什么办法可以实现吗?
php artisan list
将显示所有可能的 artisan 命令。有一个包含您自己创建的命令的 'command' 小节。
你可以这样称呼它们
php artisan command:MyCreatedCommand
编辑:要检查项目中是否存在命令,您可以使用 php class_exists 函数
if(class_exists('App\Console\Commands\MyCommandName')){
//Do whatever
}
已测试并正常工作。
function command_exists($name)
{
return array_has(\Artisan::all(), $name);
}
if (command_exists('config:cache')) {
// success
}
虽然@Sandeesh是对的,但我们可以这样查看:
function exists_command($name)
{
return array_key_exists($name, \Artisan::all());
}
if (exists_command('mycommand:foo')) {
// success
}
即使是更短的方式,
function exists_command($name)
{
return $this->getApplication()->has($name);
}