Laravel 4 - 创建一个 artisan 命令

Laravel 4 - Creating an artisan command

这是我第一次尝试创建一个artisan命令,它应该负责执行另一个php功能。到目前为止,我所做的只是使用以下命令创建命令:php artisan command:make PutItemsBackInStock 并为该命令创建了框架。另外,我在 app/start/artisan.php 中添加了命令,所以 Laravel 知道了。

然后在 PutItemsBackInStock 文件中我声明了一个私有函数:

private function updateItemQty() { ... }

public function fire() 下我尝试调用它:

$this->updateItemQty();

这可能不是正确的方法,而我得到了这个错误:

[RuntimeException] Not enough arguments.

然后我删除了受保护函数的块 getArguments() and getOptions(),这删除了该错误,但该函数仍然没有触发。

问题是:如何让 artisan 命令执行另一个函数?

看来你没有正确设置参数。您需要像这样设置命令:

protected $name = 'your:command';

public function fire()
{
    $this->updateItemQty();
}

protected function getArguments()
{
    return [];
}

protected function getOptions()
{
    return [];
}

private function updateItemQty() { ... }