Это ваша проблема:
$database = new Assessment\Database;
Поскольку имя класса существует в файле с объявленным пространством имен (ваше объявление пространства имен вверху), имена классов относительно относительно пространства именфайла (если вы не объявите их с полным именем класса).
Это утверждение было эквивалентом попытки создания экземпляра Assessment\Assessment\Database
.
Так что вы можете просто сделать:
$database = new Database();
И это сработает, поскольку это будет эквивалентно созданию экземпляра Assessment\Database
.
Если вы хотите сохранить полное имя класса, просто добавьте \
, чтобы сделать de pathначать с корневого пространства имен:
$database = new \Assessment\Database();