Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13

Discussione: MVC fondamenti

  1. #1

    MVC fondamenti

    Intanto cerco di capire i fondamneti dell' MVC

    e riprendetemi se sbaglio concetto :

    esempio gestione clienti :

    - il model si occupa di accedere al DB e reperire i dati del cliente, inserirli o modificarli

    - Il controller si occupa di controllare inviati dall'utente e di fornire l'interfaccia giusta (view)

    - il view si occupa della costruzione della pagina da restituire all'utente

    quindi se ad esempio l'utente clicca sul tasto mostra clienti il model reperirà i dati da visualizzare all'utente, il controller caricherà il view giusto che mostrerà la tabella in formato lista
    Giusto ?

    invece se l'utente clicca su "inserisci nuovo cliente", il model reperirà il nuovo IdCliente, il controller caricherà la form di nuovo inserimento cliente, il view comporrà tale pagina con il form.
    Appena l'utente invierà il form il controller effettuerà un controllo sui dati inseriti e: 1) inserisce il cliente 2) mostrerà un alert di errore se ci sono errori nei dati inseriti, questo ovviamente tramite il view.

    la modifica dei dati del cliente sarà simile alll' inserimento.

    Che ne dici?
    http://www.usatoitalia.it
    vendi subito i tuoi oggetti nel portale Italiano dell'usato.

  2. #2
    Credo che il controller invece capirà che la richiesta è di mostrare i dati, quindi chiederà al model di dargli i dati ed al view di mostrare i dati che il model gli passa.
    Ma non ne sono sicuro, devo iniziare a vedere l'MVC pure io

  3. #3
    1. The user interacts with the user interface in some way (e.g., presses a button).
    2. A controller handles the input event from the user interface, often via a registered handler or callback.
    3. The controller accesses the model, possibly updating it in a way appropriate to the user's action (e.g., controller updates user's shopping cart).[3]
    4. A view uses the model (indirectly) to generate an appropriate user interface (e.g., the view produces a screen listing the shopping cart contents). The view gets its own data from the model. The model has no direct knowledge of the view.
    5. The user interface waits for further user interactions, which begins the cycle anew.

  4. #4
    Ok,
    ma per capire in modo ottimale il concetto sarebbe (se non chiedo troppo) utile, uno schema di come verrebbe gestita la sezione clienti dal MVC
    http://www.usatoitalia.it
    vendi subito i tuoi oggetti nel portale Italiano dell'usato.

  5. #5
    Ti consiglio di partire da qui.
    http://www.symfony-project.com/doc/1_0/

    In particolare
    http://www.symfony-project.com/tutor...-first-project
    http://www.symfony-project.com/askeet/1_0/

    Che poi tu decida di usare Symfony o meno è un altro conto, ma hai due esempi semplici su cosa vuol dire un applicato MVC in PHP5.

  6. #6
    Originariamente inviato da weppos
    Ti consiglio di partire da qui.
    http://www.symfony-project.com/doc/1_0/

    In particolare
    http://www.symfony-project.com/tutor...-first-project
    http://www.symfony-project.com/askeet/1_0/

    Che poi tu decida di usare Symfony o meno è un altro conto, ma hai due esempi semplici su cosa vuol dire un applicato MVC in PHP5.
    Grazie per i link, scoprendo che il manuale di synfony e anche in italiano (http://trac.symfony-project.com/wiki...entation/it_IT), e se non sto capendo male il controller è in qualche modo il perno di un'applicazione?
    giusto
    http://www.usatoitalia.it
    vendi subito i tuoi oggetti nel portale Italiano dell'usato.

  7. #7
    Sì.
    Per il manuale, è in fase di traduzione.

  8. #8
    A me piace pensare al model come ai dati (MySQL), al view come l'interfaccia (HTML) e al controller come la logica (PHP).

    M <-> C <-> V

    Ci sono tuttavia casi specifici in cui la differenzazione è labile: è questo il caso delle "stored procedures" che stanno tra il model e il controller e dei "Renderer" tra il controller e la view.

  9. #9
    Originariamente inviato da ntd
    A me piace pensare al model come ai dati (MySQL), al view come l'interfaccia (HTML) e al controller come la logica (PHP).

    M <-> C <-> V

    Ci sono tuttavia casi specifici in cui la differenzazione è labile: è questo il caso delle "stored procedures" che stanno tra il model e il controller e dei "Renderer" tra il controller e la view.
    molto chiaro,
    quindi, ad esempio, come rappresenteresti (MVC) la gestione della sezione clienti di un gestionale?
    http://www.usatoitalia.it
    vendi subito i tuoi oggetti nel portale Italiano dell'usato.

  10. #10

    Re: MVC fondamenti

    Originariamente inviato da Webtek
    Intanto cerco di capire i fondamneti dell' MVC

    e riprendetemi se sbaglio concetto :

    esempio gestione clienti :

    - il model si occupa di accedere al DB e reperire i dati del cliente, inserirli o modificarli

    - Il controller si occupa di controllare inviati dall'utente e di fornire l'interfaccia giusta (view)

    - il view si occupa della costruzione della pagina da restituire all'utente

    quindi se ad esempio l'utente clicca sul tasto mostra clienti il model reperirà i dati da visualizzare all'utente, il controller caricherà il view giusto che mostrerà la tabella in formato lista
    Giusto ?

    invece se l'utente clicca su "inserisci nuovo cliente", il model reperirà il nuovo IdCliente, il controller caricherà la form di nuovo inserimento cliente, il view comporrà tale pagina con il form.
    Appena l'utente invierà il form il controller effettuerà un controllo sui dati inseriti e: 1) inserisce il cliente 2) mostrerà un alert di errore se ci sono errori nei dati inseriti, questo ovviamente tramite il view.
    La tua visione era corretta, ma alla fine si è deteriorata.

    Se l'utente clicca su "inserisci nuovo cliente", il controller segnalerà alla view di comporre la relativa form (qui il model non viene usato).
    Appena l'utente invierà la form, il model effettuerà un controllo sui dati inseriti (da qui la promiscuità che ti dicevo prima: il controllo dei dati e le stored procedures sono model o controller? Io lo considero model, anche perché l'assegnazione dell'id è SICURAMENTE model) e:

    1) se valido, il model inserirà il cliente e il controller comanderà alla view di visualizzare la notifica di avvenuta transazione
    2 se non valido, il model ritornerà errore e il controller comanderà alla view di visualizzare il messaggio di errore

    L'id cliente viene assegnato in fase di inserimento cliente dal model!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.