failed_attempts++; $this->last_attempt = date('Y-m-d H:i:s'); } public function surpassedMaxAllowed() { return ($this->failed_attempts >= self::MAX_ATTEMPTS_ALLOWED) && $this->last_attempt > date('Y-m-d H:i:s', time() - self::MIN_MINUTES_BETWEEN_ATTEMPTS * 60); } }