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() { ... }
这是我第一次尝试创建一个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() { ... }