Sto appena iniziando a utilizzare la programmazione usando il pattern di progettazione MVC e vorrei sapere se l'ho capito correttamente e dove dovrei mettere certe cose.
Quindi ho capito che dovevo mettere tutti i miei file in una delle tre cartelle, (o semplicemente separare il codice):
Modello - Modelli di database.
Controller : logica che si occupa dello spostamento delle informazioni memorizzate nei modelli nella vista e viceversa.
Visualizza : logica per la visualizzazione di cose all'utente.
Quindi la mia domanda è se ho alcune funzioni che mi aiutano a gestire i modelli, ma non è un modello stesso, dove dovrei inserirlo?
Ad esempio, supponiamo di avere i seguenti modelli: Utente, Posta, Commento. E ho creato una funzione chiamata "Aggiungi", e riceve i due argomenti: "nome modello" e "proprietà" per quel modello, e la funzione usa il modello richiesto e fa tutto il lavoro necessario per aggiungerlo al database.
E ci sono dei buoni schemi strutturali che dovresti dare un'occhiata?
EDIT: ho visto che entrambe le risposte che ho ricevuto sono in conflitto, quindi qui ho un esempio migliore.
Diciamo che ho diversi tipi di "voci", possono essere articoli, blog, video, ecc ... Ho già un modello per ognuno di essi con le giuste relazioni tra loro e i loro commenti, e le altre cose.
Tutte queste voci, condividono una "struttura di base" comune e possono essere create dinamicamente.
Quindi ho creato una funzione per aiutarmi a gestire queste voci e riceve il nome della voce e le proprietà da salvare nel database. Quindi quella funzione invia i dati al modello appropriato.
Ecco lo pseudo codice che rappresenta la funzione:
function add( modelName, properties ) {
// Checking the inputs.
// Checking if a model with that model name exists
// Pass the properties to the right model
// Try to save it to the database
// Return errors/updates.
}
EDIT: Mi dispiace di aggiornare con così tante domande, è solo il modo migliore che conosco per comprendere le cose:)
Quindi un'altra domanda: dov'è il posto giusto per convalidare l'input dell'utente? dovrebbe andare al modello?
E dove posso controllare le autorizzazioni dell'utente per accedere alle informazioni?
Se ho capito bene la maggior parte della logica va nel Modello?
E un'ultima cosa, non ho familiarità con la maggior parte della terminologia del MVC quindi per favore spiegami il più semplice possibile.