Quella classe deve smistare ogni richiesta verso il controller interessato dall'operazione in base all'URL della richiesta stessa (cerca informazioni sul routing). Saranno poi i controller specifici a gestire tutto il lavoro per soddisfare la richiesta.
No, il link alla pagina lo puoi anche rendere pubblico, anche se è comunque sconsigliabile, non è la segretezza del link a rendere il backend accessibile solo all'admin.Per implementare un lato amministrativo, dove l'admin gestiste il database, basta aggiungere una pagina non linkata alle altre ed una classe con i metodi necessari?
Per esempio se su quasi qualsiasi sito che sai essere fatto con Wordpress, all'indirizzo della home aggiungi /wp-admin ti ritrovi nel backend, ma chiaramente se non sei loggato ti chiede username e password.
Quindi per un accesso risrevato al backend devi prevedere l'uso di username e password.