Jeżeli chodzi o tworzenie poważnych dużych projektów, to polecam Erica Evansa i jego Blue Book o Domain-driven Design. Oczywiście kilka innych pozycji jak np Red Book w tej tematyce. Duuzo filmów na yt można znaleźć z warsztatami o DDD.
Jednak jest to dość ciężki temat i nie wiem czy samodzielnie mógłbyś go przerobić. Niektórzy muszą dojrzewać do tego.
Swoją drogą, nazwanie klasy "Parent" jest mylące i dziwi mnie, że nie jest ona zastrzeżoną nazwą w języku.
Pomyśl o relacjach między danymi osobami. Najlepiej weź kartę A3 albo nawet A1 i rozrysuj sobie wszystko w postaci pseudo UML. Zaplanuj sobie jakie będą nosić nazwy klasy, jakie klasy w ogole musza powstać.
Dobrym nawykiem jest tworzenie oprogramowania w taki sposób:
User stories:
JAKO zalogowany użytkownik CHCĘ mieć zakładkę "Moje oceny" w głównym widoku ABY mieć dostęp do przeglądania ocen.
To się nazywa BDD - Behavioral-driven design i oznacza, że najpierw zastanawiasz się, co tak naprawdę aplikacja ma robić. Tworzysz żywą specyfikację i jednocześnie dokumentację swojego kodu.
Przy okazji jeżeli użyjesz do tego jakiegoś narzędzia (w PHP to Behat albo PHPSpec) to możesz wygenerować sobie od razu kod, który będzie sprawdzał czy Twój program spełnia wymogi specyfikacji.
Jeśli to cię zaciekawiło, poczytaj o BDD i formacie Gherkin.
Poza tym warto użyć jakiegoś narzędzia do planowania: ja polecam acunote bo sam używam :)
Wersjonowanie to pewnie git albo bitbucket.
No i jeżeli to większy projekt to potrzeba jakiegoś bugtrackera. I na sam koniec testy jednostkowe (w PHP to PHPUnit) i funkcjonalne czyli Selenium.
Oczywiście tak wykonany projekt to mega profeska, mało kto robi te wszystkie rzeczy, a jak już wszystko to nie tak dokładnie jak powinno to wyglądać. Ale samo podejście spowoduje, że aplikacja będzie nieco bardziej bezpieczna, czytelna i rozszerzalna.
Książki z zakresu:
Eric Evans DDD, Blue Book, Red Book, Rober C. Martin Agile i Clean Code, Kent Beck o TDD, Martin Fowler. No i banda czworga jeżeli chodzi o wzorce projektowe chociaż to stara pozycja z lat przed Twoimi narodzinami to warto uzupełnić ją właśnie Martinem Fowlerem.