Desidero sapere quali strategie di architettura php gli sviluppatori utilizzano in complesse applicazioni php. Finora, conosco la struttura del mvc che consiste in modelli, viste e controller (e plugin del controller che gestiscono compiti comuni come il controller di accesso utente). Conosco alcuni buoni framework php che rendono più semplici alcune cose comuni. Ma il problema inizia quando mi occupo di applicazioni php enormi e complesse. perché in queste applicazioni ci sono molte cose da fare o molto da pensare, quindi non posso decidere quale codice dovrebbe essere dove.Architettura di applicazioni php molto complesse?
Pensa all'applicazione magento, questa è un'applicazione molto grande. quando ripasso il codice sorgente dell'applicazione, non riesco a capire la strategia di progettazione. so che ci sono alcune strategie di progettazione perfette in grado di gestire facilmente applicazioni php di grandi dimensioni, perché non possono costruire un'applicazione così grande con una strategia di progettazione molto debole. La strategia di progettazione dovrebbe supportare più di quello che vuoi, così puoi migliorare il tuo codice e applicazione facilmente
Per riassumere, voglio come posso creare applicazioni più grandi. Ora le strategie di progettazione che uso nelle mie applicazioni mi limitano, quindi non posso creare applicazioni più complesse. Voglio sapere quale strategia di progettazione può gestire applicazioni complesse.
so che questa è una domanda molto astratta, ma questo è perché ora il mio background php proviene da hobby amatoriale non accademico. Voglio fare di più, ma sono da qualche parte dove non posso fare un passo in più, perché non riesco a trovare informazioni più complesse sulla codifica. qualunque cosa, per riassumere, voglio conoscere le strategie di progettazione per applicazioni PHP complesse come Magento.
Forse le strategie di progettazione che conosco (MVC, quadri torta CI ...) in grado di gestire le applicazioni più complesse di quanto io pensi ..
se ci sono alcuni errori nella mie domande non esitate a correggerli, scusa per il mio inglese inadeguato ..
Grazie per la risposta.il link che hai dato è molto utile per me. ho appena capito il mio punto debole, il mio problema è "fat controller = model + controller". Penso che limiti le mie applicazioni è che non ho alcun modello 'utile', i miei modelli sono solo classi vuote con l'adattatore del database framework e Ho enormi controller che hanno tutta la logica in esso. Quindi penso di dover creare modelli reali –
. Ma non sono sicuro del motivo per cui ho bisogno di creare azioni specifiche del modello (ad esempio azione del registro del modello utente) anche se lo userò in un solo controller. una ragione che posso trovare è testare le capacità. se il modello utente ha un metodo di registrazione, posso verificarlo. se hai più informazioni che possono essere utili per me, voglio imparare. Grazie ancora –
@Oguz - Hai familiarità con Do not Repeat Yourself, Single Responsibility Principle o incapsulamento in quanto riguardano la programmazione orientata agli oggetti? –