Système d’événements WordPress: comprendre les crochets dans un environnement de programmation plus large

Les systèmes basés sur des événements fournissent le plaisir dans le Code, et pouvez commencer à voir la force et lamp;rsquointuition derrière eux. Avantages des systèmes fondés sur les événements lamp;rsquoarchitecture fondée sur les événements présente plusieurs avantages clés. Les systèmes basés sur les événements sont très extensibles et peuvent facilement intégrer le comportement du système de démarrage unifié lors de sa construction initiale.
L’aspect le plus puissant des systèmes basés sur des événements (en particulier le système crochet de WordPress) est peut être sa facilité d’extension: d’autres peuvent facilement intégrer les comportements utilisés lors de la construction initiale du système. Woocommerce et d’autres systèmes peuvent transformer WordPress en plate forme de commerce électronique, un exemple important de l’extension du système maître d’une manière qui n’était pas initialement prévue. Le noyau WordPress peut être mis à jour indépendamment des plugins et des thèmes qui en dépendent. Sans ce découplage, l’écosystème plug in WordPress n’aurait pas pu exister.
Lamp;rsquoavantage de permettre une approche élargie axée sur les événements est que pouvez écrire du Code en supposant que les événements namp;rsquoont pas damp;rsquoauditeurs. En d’autres termes, il est facile de dire à un événement d’activer (par exemple, une opération WordPress), et le Code d’activation n’a pas à s’inquiéter de ce que d’autres codes ont fait à cet événement sur le système. Comme le Code qui déclenche les événements n’a pas à s’inquiéter de la façon dont ils sont consommés, le noyau WordPress (le principal “générateur d’événements wordpress”) peut être mis à jour indépendamment du thème et du Code du plugin qui en dépend. Cette séparation permet aux deux de se déplacer à leur propre vitesse, ce qui est un fait fondamental qui permet l’existence de l’ensemble de l’écosystème plug in WordPress.

Il namp;rsquoest pas nécessaire de se déplacer dans le bloc: couplage faible. Dans un système basé sur l’événement, il existe un faible couplage entre l’expéditeur de l’événement (comme le noyau WordPress lui même) et le réacteur de l’événement (comme le plug in). Lamp;rsquoinverse damp;rsquoun couplage faible est un « couplage fort », camp;rsquoest à dire que les deux systèmes doivent changer en même temps, sinon tout samp;rsquoeffondrera. (je suis sûr que ceux qui ont été brûlés par des mises à jour de plugin manquantes ou quelque chose comme ça, ont parfois l’air de WordPress)
mplicité plus évidente le code écrit pour émettre un événement peut sembler très simple. Le code écrit pour publier un événement semble très simple. Une fois que aurez appris à travailler avec le filtre apply _ et à effectuer l’opération dans votre code WordPress en tant que développeur, bénéficierez de nombreux avantages importants en tant que signal que pouvez généralement ignorer en toute sécurité. Le Code qui peut être étendu, suspendu ou modifié par de nombreuses autres lignes du système namp;rsquoa pas besoin damp;rsquoêtre trop complexe pour correspondre à toutes ces extensions. En fait, il peut être délibérément simplifié parce quamp;rsquoil namp;rsquoest pas du tout jumelé à ces appelants.
Mais ici, nous commençons à brouiller les inconvénients des systèmes basés sur les événements, et cette simplicité apparente namp;rsquoest pas entièrement gratuite: en poussant la complexité sur les systèmes qui interagissent avec le Code, pouvez garder lamp;rsquoapparence simple du Code. Inconvénients des systèmes fondés sur les événements les systèmes fondés sur les événements présentent plusieurs inconvénients. Camp;rsquoest lamp;rsquoinconvénient du premier point: les systèmes basés sur les événements peuvent sembler simples, car la complexité se déplace simplement ailleurs. Heureusement, le Code pour réagir à un événement (ou « crochet ») namp;rsquoa généralement pas besoin damp;rsquoêtre très complexe, mais damp;rsquoaprès mon expérience, deux situations courantes peuvent compliquer le Code:
votre activité ne transmet pas certaines des données requises, visitez
Du point de vue de lamp;rsquoévénement, tout peut changer lamp;rsquoétat du système en répondant à un événement particulier, de sorte quamp;rsquoil est très difficile de déboguer un système axé sur lamp;rsquoévénement. Cette complexité est en fait intégrée dans les systèmes basés sur les événements et en vaut souvent le prix. Bien sûr, il y a plus de complexité, mais 95% du temps namp;rsquoavez aucun problème. Mais un développeur WordPress expérimenté qui a passé des heures à suivre la cause des bogues en activant et désactivant un million de thèmes et plugins saura de quoi je parle. Camp;rsquoest la complexité des systèmes basés sur les événements. Ce que j’espère que nous apprendrons, c’est que j’espère que comprendrez mieux le compromis apporté par le système de crochet de WordPress et que comprendrez mieux comment les fonctionnalités basées sur les événements de WordPress s’adaptent à un plus large éventail de disciplines de calcul et de programmation. Les systèmes basés sur les événements sont très flexibles et faciles à adapter à vos besoins. Les systèmes basés sur les événements sont très flexibles et faciles à répondre à vos besoins spécifiques. Une exception est la possibilité pour plusieurs participants différents de fonctionner en toute sécurité et indépendamment. Camp;rsquoest damp;rsquoautant plus vrai que tout le monde écoute les mêmes événements. C’est pourquoi les auditeurs des événements WordPress add _ action et Add Filter sont si précieux. Damp;rsquoautre part, tant de choses se sont passées, mais il namp;rsquoy a pas de dossier central sur le moment et la raison de ce qui samp;rsquoest passé. La même flexibilité est la raison pour laquelle ces systèmes sont devenus si complexes quamp;rsquoils sont devenus aveugles: tant de choses se sont passées, mais il namp;rsquoy a pas de dossier central sur ce qui samp;rsquoest passé et quand. Dans le pire des cas, cela signifie que devez rechercher chaque ligne de code en cours damp;rsquoexécution dans votre système pour trouver ce que voulez éditer. Ce namp;rsquoest pas impossible, mais ça peut parfois être un peu gênant. Mais camp;rsquoest acheté.
Système basé sur les événements. Bon hacker! Source: Seattle Park

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

ContactPress Supported By WordPress Plugins