Php Laravel Artisan命令和存储库数据类型检查

Php Laravel Artisan命令和存储库数据类型检查,php,oop,laravel,repository,Php,Oop,Laravel,Repository,我正在寻找帮助,在我正在从事的一个小型Laravel4项目中实施一些最佳实践。我下面的代码片段被简化,以帮助理解我试图理解的内容 注意存储库片段: ... public function deleteNotesOlderThan($days) { if (!is_int($days)) { /* @TODO - Something here and return error possibly NULL? */ } $date = new \Carbo

我正在寻找帮助,在我正在从事的一个小型Laravel4项目中实施一些最佳实践。我下面的代码片段被简化,以帮助理解我试图理解的内容


注意存储库片段

...

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();
}

...
正如您在我的命令中所看到的,我正在检查以确保$days再次是一个整数。我想我的问题是,这里最好的做法是什么。如果我正在执行$this->note->deleteNotesOlderThan($days),并且这个特定的方法已经确保$days是一个int,那么给出一个错误的最佳方法是什么,但却会使事情干涸?我希望这是有道理的

提前感谢。

在您的功能中

    public function deleteNotesOlderThan($days)
    {
        if (!is_int($days)) {
            return FALSE;
        }

        $date = new \Carbon\Carbon();
        $date = $date->subDays($days);
        Note::where('created_at', "<", $date)->delete();
        return TRUE;

    }

这就是我要做的。

谢谢!最后我做了这样的事情。
    public function deleteNotesOlderThan($days)
    {
        if (!is_int($days)) {
            return FALSE;
        }

        $date = new \Carbon\Carbon();
        $date = $date->subDays($days);
        Note::where('created_at', "<", $date)->delete();
        return TRUE;

    }
        public function fire()
        {
            $days = $this->option('days');            
            if (!$days) {
                $days = 30;
            }       
            if($this->note->deleteNotesOlderThan($days)){
                $this->info('Success - Notes older than ' . $days . ' days(s) have been deleted.');
            }else{
                 $this->error("Failure - The 'Days' option must be a valid integer");
            }                   
        }