OK. Je suis en train de construire une application PHP (plate-forme) qui sera déployée plusieurs fois, uniquement avec des configurations différentes. L'application consiste en un backend et un frontend. Grâce au backend, nous sommes en mesure de configurer quels modules sont actifs, quels sont les paramètres et comment la plate-forme ressemble.Architecture: Plusieurs sites Web. Une base de code. Code personnalisé
Nous nous attendons à ce que les clients commencent à demander des fonctionnalités spécifiques sur leur plate-forme. Cela signifie que la plate-forme sera différente des autres. Mais, nous maintenons une base de code.
Quelle est la meilleure façon de résoudre ce problème? Puisque nous continuons à corriger les bogues et à développer de nouvelles fonctionnalités, il devrait être facile de prendre soin de toutes les plateformes. Nous avons un script que nous utilisons pour déployer nos mises à jour de plate-forme sur toutes nos plateformes.
Devrions-nous convertir toutes nos fonctionnalités en plugins afin que chaque plate-forme puisse être mise à jour manuellement si elle le souhaite? Donc, si un client veut quelque chose d'autre que le plugin d'origine, nous dupliquons le plugin et créons son propre plugin client? Mais le code est-il facile à maintenir si nous décidons de mettre à jour le plugin? Ou devrions-nous écrire des exceptions dans le code pour chaque client?
Devrions-nous avoir des fichiers séparés qui remplacent les fichiers de base pour chaque plate-forme avec un code personnalisé?
Quelle est la meilleure idée?