Php Laravel artisan命令行
我正在使用Laravel4.1和artisan工具为我们的网站开发一些cli脚本。 这些脚本将通过cron作业在后台运行 我遇到了一个bug/特性,我想知道是否有其他人遇到过这个问题,或者知道如何克服这个问题 说明: 在artisan.php下的start文件夹中,我添加了以下命令:Php Laravel artisan命令行,php,laravel,laravel-4,command-line-interface,Php,Laravel,Laravel 4,Command Line Interface,我正在使用Laravel4.1和artisan工具为我们的网站开发一些cli脚本。 这些脚本将通过cron作业在后台运行 我遇到了一个bug/特性,我想知道是否有其他人遇到过这个问题,或者知道如何克服这个问题 说明: 在artisan.php下的start文件夹中,我添加了以下命令: Artisan::add(new VinCommand); Artisan::add(new DealersCommand); Artisan::add(new ReportingCommand); Artisan
Artisan::add(new VinCommand);
Artisan::add(new DealersCommand);
Artisan::add(new ReportingCommand);
Artisan::add(new AutoInventoryCommand);
Artisan::add(new VastLeadsCommand);
Artisan::add(new SendInventoryAlertsCommand);
Artisan::add(new JumpstartCapCommand);
在app->commands下,我有我所有的命令。
在AutoInventoryCommand.php中,我在_构造方法中运行truncate表,但我发现truncate在每个cli命令上都被调用
例如VinCommand:
php artisan command:vin_command
还运行AutoInventoryCommands\uuuu构造方法,这会导致表始终被截断
不在构造方法中加入任何逻辑是常识吗
在其他一些命令中,我在_construct方法中设置了私有静态变量。这是个坏习惯。我是否应该有一个被调用的_init方法:
public function fire()
{
$this->_init();
}
这将设置我的变量。如果我没有:
echo "Table Truncated \n";
在截断法中
这是一个bug/常识吗
我假设发生这种情况是因为在以下情况下调用了所有_构造:
Artisan::add();
被称为?当然,它会在每个命令上运行。您的代码中有新的AutoInventoryCommand 如果您坚持将代码保留在构造函数中,而您不应该这样做,则可以使用resolve注册命令:
Artisan::resolve('AutoInventoryCommand');