Ho osservato Laravel per un po 'e ho deciso di riprenderlo. È la prima volta che utilizzo un framework MVC e ho difficoltà a capire lo scopo dei modelli.Laravel 4 Modelli, come usarli
Ho letto un sacco di guide newbie e questo è più o meno tutto ciò che è nel loro modello (laravel saggio),
class Model extends Eloquent {
}
E poi nel loro controllore che fanno qualcosa di simile,
Non sono esperto del pattern MVC (probabilmente il più grande principiante là fuori) ma ho pensato che l'intero punto (o almeno un piccolo punto) fosse quello di separare molte azioni. E che il modello doveva essere responsabile della gestione di tutto ciò che è DB-saggio. Quindi in un certo senso, questo mi sembra sbagliato o almeno non la migliore pratica.
Ma se si avvia la creazione di una serie di funzioni è possibile eseguire il problema di avere un modello per ogni tabella. Che di nuovo, non sembra giusto. Quindi devi rendere il modello, in un certo senso, ambiguo. Nel senso che può prendere qualsiasi azione contro qualsiasi tabella?
Mi sembra tutto molto confuso al momento.
Ottima risposta! E per elaborare un po 'quello che inizialmente intendevo, se voglio prendere una riga con l'id di 1, potrei fare Model :: find (1); nel mio controller ma sarebbe meglio fare pratica (usando genericamente quel termine) per posizionare quel "find" in una funzione e restituire il risultato al controller invece di farlo effettivamente nel controller? In questo caso potrebbe non esserlo ma se pensi cose più grandi. – Andreas
appena modificato con qualche risposta. –
Ma in realtà hai ragione. Si sono dimenticati delle origini dati e degli adattatori. Ecco perché potresti pensare che cose come la convalida e le relazioni devono essere riscritte un milione di volte per ogni database. Non vero. Affatto. ... E questo magico nirvana è persino possibile con Laravel, ma devi collegare tutto questo a te stesso. Ne vale la pena? O ti iscriveresti alla disorganizzazione? Fino a te, ma penso che la tua domanda iniziale fosse buona. Che tu ti consideri un principiante o no, stai pensando a buone pratiche di design. – Tom