【发布时间】:2023-03-13 11:31:01
【问题描述】:
LARAVEL 5.2,刚刚创建了名为“HelloWorld”的命令,代码如下:
<?php
namespace App\Console\Commands;
use Illuminate\Console\Command;
use App\Http\Controllers\HelloWorldController;
class MakeImportsCommand extends Command
{
/**
* The name and signature of the console command.
*
* @var string
*/
protected $signature = 'helloworld';
/**
* The console command description.
*
* @var string
*/
protected $description = 'Say Hello World Controller';
/**
* Create a new command instance.
*
* @return void
*/
public function __construct()
{
parent::__construct();
}
/**
* Execute the console command.
*
* @return mixed
*/
public function handle()
{
return $this -> helloWorld();
}
}
我的控制器 HelloWorldController.php 如下所示:
<?php
namespace App\Http\Controllers;
class HelloWorldController extends Controller
{
public function helloWorld() {
echo 'Hello World from controller';
}
}
到目前为止,我的 Kernel.php 有以下命令:
protected $commands = [
Commands\Inspire::class,
Commands\HelloWorldCommand::class,
];
当我运行控制器 VIA Routing 方法时,它可以工作,但我想通过控制台命令运行它。这是我在控制台上的命令:php artisan helloworld。我得到了错误:
[Symfony\Component\Debug\Exception\FatalErrorException]Call to undefined method App\Console\Commands\HelloWorldCommand::helloWorld()
我的问题是:有没有办法通过命令控制台调用这个函数?如何? 先感谢您!
【问题讨论】:
标签: laravel controller console command execute