Division hiérarchique partielle basée sur le cadre YII2
contrôleur
- Utilisez simplement la couche de transmission transparente comme paramètre, réincapposez la classe de base (certaines fonctions d'authentification, de jeton et d'autres fonctions sont ajoutées plus tard)
Divisez la couche de modèle en trois couches: service (couche de service), BO (objet de données / couche de traitement), DAO (couche de persistance)
- Service: traite principalement de la logique commerciale complexe. Un contrôleur du module correspond à un sous-répertoire de service, et une méthode correspond à une classe, qui peut satisfaire l'indépendance et la cohésion de la logique métier complexe.
- BO: Il est principalement responsable de l'obtention de données, telles que l'obtention de données DB, les données de cache, les données d'interface externe, le traitement des données d'emballage et la conception suit le principe de célibat de la méthode.
- DAO: Il est principalement responsable de la persistance des données. Il n'y a pas de code de traitement de la logique métier dans le fonctionnement de DB. Il suffit d'ajouter, de supprimer, de modifier et de vérifier les opérations. Il peut permettre un peu de formatage de données.
Réamissulation des classes de configuration
- L'environnement environnement qui n'utilise pas YII est actuellement divisé en trois environnements: Dev, Test et Prod. Les trois environnements sont indépendants. Ils sont directement utilisés pour ajouter Debug et Run_Mode dans le php.ini dans l'environnement PHP en cours d'exécution. Ceci est utilisé pour décider d'activer le mode de débogage et de décider quel fichier de configuration de l'environnement utiliser.
Réamissulation des cours d'exceptions
- Il cible principalement la convergence des exceptions qui se produisent dans la logique des affaires et gère les codes d'exception et les informations d'exception de manière unifiée.
Configuration constante de reconditionnement
- Convergez les constantes dispersées dans leurs codes commerciaux respectives en une constante et définissez la classe constante selon le bloc commercial.
Ajout du module SQLMAP
- Toutes les instructions SQL doivent être définies dans SQLMAP et exploitées avec le traitement de commande dans une base de données réincapulée. Le plus grand avantage de l'utilisation de SQLMAP est de faciliter la gestion et l'audit de SQL et de réduire la traînée sur les performances de l'application de SQL complexe.
Module de cache ajouté
- Toutes les instructions de clés de cache doivent être définies dans le cache et le cache de fonctionnement en conjonction avec la réamisulation du traitement du cache dans la bibliothèque. Le plus grand avantage de l'utilisation de SQLMAP est de faciliter les audits de la clé de cache et de gestion du temps, de réduire les conflits clés et de prévenir la pénétration du cache et les avalanches.
Module de vérification des paramètres ajoutés
- Selon la logique métier, certaines données commerciales d'entrée peuvent être vérifiées, telles que la nécessité, la longueur, etc., et la vérification des fonctions anonymes peut également être transmise.
Bibliothèque de bibliothèque ajoutée
- Principalement certains composants de l'outil de traitement
Réécrire la réponse
- Conçu entièrement selon Restapi, tout retour est unifié comme JSON
Couche middleware ajoutée
- Effectuez les opérations requises pour la configuration en fonction du module, telles que l'authentification, le filtrage et le chargement anti-attaque de middleware tels que le chargement à la demande
Ajout de la file d'attente de messages / file d'attente de messages retardée
- Intégrer le beanstalk comme service de files d'attente de messages et prend en charge les files d'attente de messages retardés
Outils de journal de reconditionnement
- Utilisez des messages pour traiter les exigences de rédaction de journaux simultanées de manière asynchrone. Les journaux de production peuvent être utilisés dans différentes applications. Plusieurs processus peuvent être ouverts en même temps en utilisant un serveur pour traiter l'écriture de journaux.
Recherche de texte intégral ajouté
- Synchroniser MySQL basé sur Elasticsearch pour effectuer un service de recherche de texte intégral
Tous les changements ci-dessus n'impliquent pas les changements de bibliothèque de base de YII2, donc YII2 peut être amélioré normalement en principe. De plus, tous les composants principaux de YII2 peuvent également être utilisés normalement. Il est recommandé de les utiliser au niveau redéfini pour permettre le découplage commercial et la convergence commerciale.
La référence de configuration Demo.Run_Mode = Dev / Test / Prod Demo.Debug = VRUE correspond respectivement au développement, aux tests et aux environnements en ligne. Notez que le débogage est faux en mode prod.