Modèles de conception pour WordPress
Plus vous travaillez longtemps avec une plate-forme donnée, plus vous commencez à reconnaître certaines façons de faire quelque chose. Et il est très probable que vous commencerez à reconnaître deux choses que ces choses peuvent être faites :
- d’une manière qui est rapide à développer, mais plus difficile à maintenir ou
- d’une manière plus lente à se développer, mais plus facile à entretenir.
Bien sûr, comme tout projet, les exigences, les contraintes, les budgets et le temps auront tous un impact sur ce que vous êtes en mesure de mettre en œuvre. Mais ce que je veux dire, c’est que quelle que soit la manière dont vous implémentez une solution, vous commencez à vous familiariser avec la manière de résoudre un problème donné.
Si un problème doit être résolu rapidement, vous connaissez les compromis, mais vous savez probablement comment le faire rapidement. De même, si vous avez un peu plus de temps (et de budget), vous pouvez le développer d’une autre manière, et vous saurez comment le faire et peut-être même l’envelopper avec des suites de tests si les contraintes le permettent.
Quelle que soit la manière dont vous devez mettre en œuvre une solution, vous savez comment vous pouvez le faire.
Et cela soulève une question :
Existe-t-il des modèles de conception spécifiques à une plate-forme donnée ? Et si oui, quels sont certains des modèles de conception qui peuvent être disponibles dans WordPress ?
Modèles de conception pour WordPress
Bien sûr, je ne parle pas des modèles de conception que le Gang des Quatre a développés il y a tant de décennies. Au lieu de cela, je parle de façons de faire certaines choses dans WordPress.
Par exemple:
- nettoyer correctement les informations avant de les écrire dans la base de données (pour les articles, les taxonomies, les métadonnées, etc.),
- lire les données de la base de données à l’aide de l’utilitaire de base de données WordPress (ou $wpdb ),
- valider et renvoyer les informations de la base de données sur demande,
- vérifier la sécurité d’une requête Ajax avant d’effectuer tout travail,
- configurer correctement une requête personnalisée, puis la réinitialiser afin de ne pas interférer avec la boucle principale,
- ajouter des actifs spécifiques à la page à la fois dans la zone administrative de WordPress et sur le site public de WordPress,
- etc.
Il y a beaucoup de choses que nous pourrions énumérer ici. Mais je pense qu’il vaut la peine d’explorer à quoi certains d’entre eux pourraient ressembler.
Mais d’abord, qu’est-ce qu’un design pattern au sens classique ?
Un modèle de conception est la forme réutilisable d’une solution à un problème de conception. L’idée a été introduite par l’architecte Christopher Alexander et a été adaptée à diverses autres disciplines, notamment l’informatique.
J’ai travaillé assez longtemps dans WordPress et j’ai construit suffisamment de plugins et d’outils à l’aide de l’application pour reconnaître comment faire certaines choses plutôt que de proposer quelque chose d’original pour chaque projet.
Est-il sûr de dire, alors, qu’il y a des choses réutilisables que nous pouvons utiliser dans WordPress pour des problèmes courants? Bien sûr. Il faudrait bien sûr les généraliser.
Je vais donc prendre un terrain d’entente à ce sujet, au moins pour le plaisir de bloguer. Je vais commencer une série qui abordera les sujets ci-dessus avec des exemples de code.
Ce seront des articles courts, et je ferai ce que je peux pour m’assurer qu’il est facile à suivre (avec des commentaires de code et des explications) et, qui sait, peut-être que cela deviendra quelque chose de plus.
Je ne parle pas des bibliothèques
Cela ne doit pas être confondu avec les bibliothèques. N’oubliez pas que les bibliothèques sont comme de petits logiciels que nous pouvons exécuter indépendamment, ou qu’elles peuvent être une suite d’outils ou de fonctionnalités qui peuvent être importées dans votre projet pour ajouter des fonctionnalités.
En informatique, une bibliothèque est une collection de ressources non volatiles utilisées par des programmes informatiques, souvent pour le développement de logiciels. Ceux-ci peuvent inclure des données de configuration, de la documentation, des données d’aide, des modèles de message, du code et des sous-programmes pré-écrits, des classes, des valeurs ou des spécifications de type.
Peut-être que certains modèles spécifiques à WordPress pourraient être intégrés dans leurs bibliothèques, mais ce n’est pas le but de l’article.
Au lieu de cela, j’essaie simplement de présenter les modèles communs potentiels qui existent dans WordPress.


