Moim zdaniem nie jest. Ale spokojnie, każdy pisał taki kod na początku, ważne by próbować. Także plus za chęci.
Przede wszystkim chyba nie przestrzegasz w ogóle zasad SOLID. Tak więc:
- Klasa Settings robi zbyt dużo na raz,
- Podobnie klasa User robi zbyt dużo,
- W klasie ValidateUser walidacja jest w ogóle źle zaprojektowana, nie powinno być tych bloków if ... else. Każdy walidator wydzieliłbym do osobnej klasy i podpinał je w miarę potrzeby, tak jak masz zrobione to tutaj,
- Co to za stwór? Wystarczy jeden tag rozpoczynający <?php,
- Mieszasz logikę (PHP) z warstwą prezentacji (HTML), można pomyśleć o podpięciu jakiegoś szablonu, np. Twiga.
Ja bym rzeźbił dalej, przeglądał cudze kody, które mają dużo gwiazdek na githubie i podpatrywał dobre praktyki. Czasem można znaleźć popularne, ale małe projekty, gdzie prędko można się rozeznać, jak napisano w nich logikę.