1
我正在寻找帮助实施我正在开发的一个小型Laravel 4项目的一些最佳实践。我的下面的代码片段被简化以帮助理解我想要理解的内容。Laravel Artisan命令和存储库数据类型检查
注库片段:
...
public function deleteNotesOlderThan($days)
{
if (!is_int($days)) {
/* @TODO - Something here and return error possibly NULL? */
}
$date = new \Carbon\Carbon();
$date = $date->subDays($days);
Note::where('created_at', "<", $date)->delete();
}
...
我在注射控制器和Artisan命令这个特殊的存储库。我的问题涉及检查参数$ days的数据类型并在正确的位置返回错误。如果$ days不是一个int,我应该返回哪种类型的错误,可以在我注入的控制器和命令中使用?看到我的命令下面。
注工匠命令:
public function fire()
{
$days = $this->option('days');
if (!$days) {
$days = 30;
}
if(!is_int($days)) {
$this->error("Failure - The 'Days' option must be a valid integer");
return false;
}
// $this->note is being injected into command via construct
$this->note->deleteNotesOlderThan($days);
$this->info('Success - Notes older than ' . $days . ' days(s) have been deleted.');
}
正如你可以在我的命令看,我检查,以确保$天又是一个整数。我想我的问题是,这里最好的做法是什么。如果我正在执行$ this-> note-> deleteNotesOlderThan($ days)并且该特定的方法已经确保$ days是一个int,那么给出错误但干什么的最好方法是什么?我希望这是有道理的。
在此先感谢。
谢谢!我结束了这样的事情。 – Pathsofdesign