【发布时间】:2014-08-30 21:55:27
【问题描述】:
我正在使用 Laravel 4.1 和 artisan 工具为我们的网站开发一些 cli 脚本。 这些脚本将通过 cron 作业在后台运行。
我遇到了一个错误/功能,想知道是否有其他人遇到过这个问题或知道如何解决这个问题。
说明:
在 artisan.php 下的 start 文件夹中,我添加了我的命令:
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 中,我在 __construct 方法中运行截断表,但我发现每个 cli 命令都调用了截断表。
例如 VinCommand:
php artisan command:vin_command
还运行 AutoInventoryCommands __construct 方法,这会导致表始终被截断。
__construct方法中不要放任何逻辑是常识吗?
在其他一些命令中,我在 __contruct 方法中设置了私有静态变量。这是不好的做法。我是否应该有一个被调用的 _init() 方法:
public function fire()
{
$this->_init();
}
这将设置我的变量。如果我没有:
echo "Table Truncated \n";
在截断方法中。
所以这是一个错误/常识
我认为这是因为所有 __constructs 都在以下情况下被调用:
Artisan::add();
被调用?
【问题讨论】:
标签: php laravel laravel-4 command-line-interface