Наступил ли новый день?
Правильно. Только лучше этот код инкапсулировать. 

public function getDailyBonus()
    {
        $now = new DateTimeImmutable(); // сегодня
        if ($now->format('Y-m-d') != $this->getLastDate()->format('Y-m-d')) { // если даты не совпали
            // то считаем тут всякую всячину
            return true;
        }
        return false;
    }

$this->getLastDate(); уже должен возвращать объект DateTime, но лучше использовать DateTimeImmutable

Так же у вас метод getDailyBonus() переводится как "получить ежедневный бонус", соответственно не логично что он возвращает true ли false. Поэтому лучше сделать так: возвращает бонус, либо null/0
if (date('Y-m-d') > $this->datetime_last) { // если даты не совпали
    // то считаем тут всякую всячину
    return true;
}