Pokazałeś przepis na klasę a nie pokazałeś jak to w ogóle wywołujesz. I masz w tej klasie co najmniej kilka błędów:
1. Nie przypisujesz zmiennej data w konstruktorze do pól w klasie strzelam że powinno być:
private $data;
private $database;
public function __construct(
private $data,
private $database,
){
$this->data = $data;
$this->database = $database,
}
2. Na ten moment leci ci wyjątek o nie istniejącym kluczy w tej tablicy (ale nie widzisz go bo tak jak ci zasugerował Arek nie masz pewnie wyłącznych błędów):
$val = htmlspecialchars($this->data['login']);
3. Zmienna $database wygląda jako coś nie potrzebnego bo nie używasz tego nigdzie (chyba że jest to zarysem jakiegoś interfejsu )