La prima cosa da stabilire è esattamente ciò che devi fare, per decidere se un framework e / o MVC (o altri pattern di progettazione) potrebbero essere di beneficio.
I framework servono a fornire una piattaforma coerente per lo sviluppo, fornendo di solito soluzioni ai requisiti di programmazione comuni (come l'interazione con il database, la creazione e la convalida di moduli, l'autenticazione dell'utente ecc.)
Per PHP almeno il MVC / HMVC tende a dominare i principali framework disponibili (ad es. Zend , CakePHP , CodeIgniter ecc.) ma ci sono molti modelli di design diversi che si potrebbero usare.
MVC è così popolare perché offre un modo consolidato e comprensibile per separare la modellazione dei dati e la logica di elaborazione dal livello vista / presentazione (qualcosa che è considerato desiderabile per produrre applicazioni robuste e scalabili).
È importante notare (e come è stato espresso da @Marjan Venema in un commento alla risposta di @ ElYusubov) che MVC, MVP, MVVM e gli altri pattern MV x sono (almeno in principio) tutti gli stessi "schemi di progettazione".
Tipicamente, diversi modelli di progettazione hanno tutti scopi (spesso sottilmente) diversi e in molti casi sono stati sviluppati tenendo conto di un linguaggio specifico. Tuttavia, un vero "modello di progettazione" non è una regola dura e veloce per la programmazione ed è in realtà una comprensione più filosofica / ideale di un'implementazione di programmi e di requisiti di progettazione e di funzioni logiche.
La ricerca è il modo migliore per scoprire i diversi principi di programmazione e le migliori pratiche, ecco alcuni link di Wikipedia per iniziare:
In pratica non c'è nulla che ti impedisca di implementare il tuo 'pattern', IMO il modo migliore è imparare facendo, per me almeno non ho capito completamente il pattern MVC fino a quando non ho iniziato a provare a scrivere un sito web usando esso.
Una volta compresi alcuni concetti di programmazione e best practice, è possibile utilizzarli per creare il proprio sistema per risolvere i problemi specifici che si stanno affrontando e per soddisfare le proprie esigenze, sia che si conformino a un "modello" stabilito o meno.
Se non hai una serie specifica di problemi da risolvere, allora l'apprendimento di uno dei quadri comuni è la soluzione migliore.