gpt4 book ai didi

command-line - 创建和使用 Laravel 4 命令

转载 作者:行者123 更新时间:2023-12-04 02:46:02 24 4
gpt4 key购买 nike

编辑:找出我出错的地方并在最后给出答案

我正在尝试创建一个 Laravel 命令,我可以看到它与 Laravel 3 中的“任务”相比发生了很大变化。但是我似乎无法让它运行。这些是我采取的步骤:

php artisan command:make Import



退货

Command created successfully



然后创建命令目录中的文件,我稍作修改以返回“Hello World”,如下所示:
use Illuminate\Console\Command;
use Symfony\Component\Console\Input\InputOption;
use Symfony\Component\Console\Input\InputArgument;

class Import extends Command {

/**
* The console command name.
*
* @var string
*/
protected $name = 'command:import';

/**
* The console command description.
*
* @var string
*/
protected $description = 'Command description.';

/**
* Create a new command instance.
*
* @return void
*/
public function __construct()
{
parent::__construct();
}

/**
* Execute the console command.
*
* @return void
*/
public function fire()
{
return 'Hello World';
}

/**
* Get the console command arguments.
*
* @return array
*/
protected function getArguments()
{
return array(
array('example', InputArgument::REQUIRED, 'An example argument.'),
);
}

/**
* Get the console command options.
*
* @return array
*/
protected function getOptions()
{
return array(
array('example', null, InputOption::VALUE_OPTIONAL, 'An example option.', null),
);
}

}

但是,当我尝试像这样运行命令时:

php artisan Import



我收到以下错误:

[InvalidArgumentException] Command "Import" is not defined.



我尝试过使用和不使用大写字母以及将其命名为“ImportCommand”,因为文档将其命令命名为“FooCommand”,但没有运气。

非常感激任何的帮助。

最佳答案

其实想通了这一点。在文档的进一步下方,它指出您必须使用以下方法在“app/start/artisan.php”中注册您的命令:

Artisan::add(new import);

此外,您在命令类中给出的名称也很重要,因为您需要使用它来调用它。所以我实际上应该这样称呼它:
php artisan command:import

最后一件事。 fire() 返回什么并不重要,要返回字符串,您必须回显它们。

关于command-line - 创建和使用 Laravel 4 命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17172012/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com