
Zacznę od tego że jestem na ciągłym etapie nauki, tak więc jeżeli coś źle nazywam, bądź jest niejasne proszę o wyrozumiałość i nakierowanie mnie na właściwe tory

Zacznę od opisu aplikacji.
Aplikacja składa się z:
a ) Frontend - HTML, CSS, JS, AJAX ? asynchroniczne zapytania do API
b ) Backend - PHP i MySQL ? warstwa dostępu do danych (API)
Frontend wysyła dane pobrane od użytkownika w formacie JSON, oraz czeka na odpowiedź API składające się ze statusu HTTP, oraz odpowiedzi w formacie JSON a następnie renderuje użytkownikowi graficznie te odpowiedzi.
Backend składa się z akcji oraz modelu.
AKCJE - w nich odbieram dane pochodzące z frontendu, sprawdzam ich poprawność (np. czy nie są puste) a następnie przekazuje je do potrzebnych modelów. Na przykład stworzenie nowego konta w projektowanym systemie wymaga stworzenie dwóch rekordów w tabeli Families oraz Users. W tym wypadku w akcji register.php powołuje się na dwa modele models/family.php oraz models/user.php.
MODELE - każdy model to osobna klasa reprezentująca tabele w bazie danych. Dodatkowo każda klasa posiada zestaw metod do wysyłania zapytań do bazy danych. Jeżeli zapytanie się powiedzie, metoda zwraca "true" oraz jeżeli istnieje potrzeba przypisuje pobrane dane do pól obiektów. Z kolei metoda zwraca "false" jeżeli zapytanie się nie powiedzie lub nie zwróci żadnego rekordu.
I teraz pytania:
1) Czy taką architekturę oprogramowania mogę nazwać MVC gdzie mój model to M, mój frontend to V, a moje akcje to C? Jeżeli nie, to jakiej architektury najbliższy jest taki typ aplikacji gdzie wszystko się dzieje bez odświeżania (SPA)?
2) Dosyć często w kilku akcjach korzystam z tych samych metod, przez co w każdej nowej akcji muszę pamiętać o walidacji danych (np. czy dane nie są puste). Czy dobrym pomysłem będzie przerzucenie tej walidacji do metod modelu? I z poziomu tych metod zwracanie statusu http oraz odpowiedzi co poszło nie tak? Czy będzie to zgodne z REST?
3) Czy korzystanie w jednej akcji (jeżeli to dobrze nazywam w kontrolerze) z kilku modelów jest poprawną praktyką? Na każdych tutorialach co widziałem każdy model miał swoje niezależne kontrolery. Z tym że w tych tutorialach bazy były bez żadnych relacji. A u mnie tak jak pisałem wcześniej np. rejestracja wymaga wstawienia rekordów w dwóch tabelach połączonych relacją.
Poniżej przedstawiam przykładowe dwa modele oraz akcję rejestracji które obecnie mam napisane. Mile widziane również małe review

MODEL USER.PHP https://pastebin.com/uA9YATNy
MODEL FAMILY.PHP https://pastebin.com/CZ155mNi
AKCJA REGISTER.PHP https://pastebin.com/CtgSbFEK