La première chose à établir est exactement ce que vous devez faire, pour décider si un cadre et / ou un MVC (ou un autre modèle de conception) serait avantageux.
Les cadres sont là pour fournir une plate-forme de développement cohérente tout en fournissant généralement des solutions aux exigences de programmation courantes (telles que l'interaction avec la base de données, la création et la validation de formulaires, l'authentification des utilisateurs, etc.)
Pour PHP au moins, le modèle de conception MVC / HMVC a tendance à dominer les cadres principaux disponibles (par exemple Zend , CakePHP , CodeIgniter, etc.) mais il existe de nombreux modèles de conception différents que l'on pourrait utiliser.
MVC est si populaire car il offre un moyen établi et compris de séparer la logique de modélisation et de traitement des données de la couche vue / présentation (ce qui est considéré comme souhaitable afin de produire des applications robustes et évolutives).
Il est important de noter (et comme l'a exprimé @Marjan Venema dans un commentaire à la réponse de @ ElYusubov) que MVC, MVP, MVVM et les autres modèles MV x sont (en principe au moins) tous le même `` modèle de conception ''.
Des modèles de conception généralement différents servent tous (souvent subtilement) des objectifs différents et, dans plusieurs cas, ont été développés avec un langage spécifique à l'esprit. Cependant, un véritable «modèle de conception» n'est pas une règle stricte et rapide pour la programmation et est en réalité davantage une compréhension philosophique / généalogique d'une mise en œuvre de programmes et des exigences de conception et des fonctions logiques.
La recherche est le meilleur moyen de découvrir les différents principes de programmation et les meilleures pratiques, voici quelques liens Wikipédia pour vous aider à démarrer:
Dans la pratique, rien ne vous empêche d'implémenter votre propre `` modèle '', l'OMI la meilleure façon est d'apprendre en faisant, pour moi au moins je n'ai pas complètement compris le modèle MVC jusqu'à ce que je commence à essayer d'écrire un site Web en l'utilisant.
Une fois que vous avez compris certains des concepts et des meilleures pratiques de programmation, vous pouvez les utiliser pour créer votre propre système afin de résoudre les problèmes spécifiques auxquels vous êtes confronté et pour répondre à vos besoins, qu'il soit conforme ou non à un `` modèle '' établi.
Si vous n'avez aucun ensemble spécifique de problèmes à résoudre, alors apprendre l'un des cadres communs est votre meilleur pari.