Ho programmato per un certo numero di anni e in PHP per circa 4 di quegli anni. Mi sono sempre chiesto quale sia l'approccio migliore quando il tuo programma decide quale azione intraprendere in base a un'azione dell'utente.
Lasciami limitare un po 'questo. Ho un piccolo CMS personalizzato, in esecuzione, una delle pagine consente a un amministratore di visualizzare e modificare i dettagli dell'account utente come nome, generare una nuova password, modificare le date di pagamento e così via.
Ho un numero di azioni diverse qui:
- Visualizza tutti gli utenti
- Visualizza singolo utente
- Visualizza utenti (stringa di ricerca)
- Modifica utente
- Modifica abbonamento
- Modifica nome
- Etc
- Elimina utente
- Blacklist
Per tutte queste azioni fornisco un let con i dati GET, per esempio:
<a href="users.php?action=show_user&uid=12">User A</a>
I link per le altre cose come la modifica di un utente sarebbero "action = edit_subscription" per esempio.
Quando viene caricata la mia pagina, di solito uso un'istruzione IF ELSE per verificare se un'azione è presente prima di eseguire on.
if($_GET['action'] == "show_user"){
}
else if($_GET['action'] == "edit_subscription"){
}
Una volta che il programma corrisponde all'azione, controlla altri dati come UID e quindi li invia in una classe da elaborare. A volte questo può sembrare un po 'prolisso e può essere un po' difficile da eseguire il debug.
Non so se questo è il modo migliore per farlo, stavo cercando di usare l'istruzione switch e mi chiedevo se sarebbe stato meglio, ma non sono sicuro se lo fosse.
Quindi, se c'è un modo migliore per me per raggiungere questo processo di selezione, forse una sorta di schema che può essere utilizzato?
Un ultimo punto è che sto cercando di mantenere tutto in una volta il file (a parte le classi) così l'HTML e il PHP per le azioni di corrispondenza sono tutti nello stesso file .php, anche se non è sicuro al 100% se questa è la migliore pratica pure.
Grazie per il tuo tempo.