WordPress et la programmation orientée objet - Un aperçu

Publié: 2021-04-20

Si vous êtes un développeur WordPress, il est probable que vous écriviez votre code de manière procédurale. Vous définissez quelques étapes ordonnées simples et les suivez pour obtenir le résultat souhaité et résoudre un problème. Un exemple simple est une boucle WordPress comme celle montrée ci-dessous :

 <?php if ( have_posts() ) { while ( have_posts() ) { the_post(); // // Post Content here // } // end while } // end if ?>

Dans une boucle, vous vérifiez d'abord si vous avez des messages qui correspondent à la requête en cours d'exécution et si c'est le cas, vous commencez à parcourir les messages avec la boucle while. Il en va de même pour chaque fonction personnalisée que vous insérerez dans le fichier functions.php .

Dans cet article, nous allons nous éloigner de la programmation procédurale et examiner un style de programmation appelé programmation orientée objet (POO). Nous examinerons en quoi cela diffère de ce que vous avez utilisé jusqu'à présent comme style de programmation et examinerons certains de ses avantages. Mais surtout, nous expliquerons comment les concepts orientés objet fonctionnent dans un environnement WordPress et la relation entre eux.

Ce que nous aimerions établir avant d'aller plus loin, c'est qu'il est important que vous connaissiez le rôle de la programmation orientée objet et quand il convient de l'utiliser. Apprendre à créer un plugin ou un thème orienté objet peut convenir à votre projet, mais il est important que vous compreniez quand c'est le cas. J'espère que cet article vous aidera à comprendre quand et pourquoi un certain projet peut être écrit en code orienté objet.

Le problème

WordPress lui-même vous a déjà poussé à penser de manière procédurale. Et, bien que WordPress utilise tout le temps des objets PHP, il ne s'ensuit pas que WordPress lui-même soit orienté objet. Il s'agit d'une mauvaise interprétation courante de ce qu'est la POO et la raison pour laquelle beaucoup de gens pensent que WordPress est orienté objet alors que ce n'est pas le cas.

Il est important de préciser que nous ne disons pas que vous devez vous abstenir d'utiliser la programmation procédurale, mais il est vrai qu'il existe des limites à ce style de codage. Par exemple, lors de la personnalisation d'un thème ou d'un plugin, il est probable que vous obteniez la sortie HTML souhaitée en écrivant du code de manière procédurale. Mais qu'en est-il de l'évolutivité et de la maintenance future ?

Lors de la création d'un plugin personnalisé, il est très important que vous fassiez le point et évaluiez son évolutivité. Par exemple, vous voudrez probablement pouvoir développer votre plugin en ajoutant d'autres fonctionnalités à mesure que le plugin mûrit. C'est à ce stade que vous commencerez à avoir des difficultés à organiser votre code lorsque vous codez de manière procédurale.

Mais même si vous ne codez pas de plugins, avec la programmation procédurale, vous prenez toujours le risque d'atteindre un point où vous ne savez plus comment tout s'emboîte. Par conséquent, chaque petit changement que vous apportez peut avoir des conséquences imprévues.

La programmation orientée objet est utilisée pour résoudre des problèmes plus complexes. Il peut partager le même objectif avec la programmation procédurale, mais dans de nombreux cas, il offre une méthode de travail supérieure. Il vous permet de créer des solutions audacieuses à un problème qui sont réutilisables, organisées et sécurisées.

Comment la programmation orientée objet résout les problèmes

La programmation orientée objet a deux concepts importants : les classes et les objets .

Les classes sont essentiellement un modèle utilisé pour créer des objets. Chaque objet a ses propres méthodes et ensemble de propriétés et la valeur de ces propriétés peut varier.

Donc, avant d'aller de l'avant, il est essentiel de s'assurer que nous comprenons ce qu'est un objet. Décomposons une phrase simple à titre d'exemple :

"Je mange des pommes vertes".

Apple est l'Objet, le vert est la couleur de l'Objet (une propriété de l'Objet) et le verbe 'manger' est la méthode (fonction).

Une classe définit les propriétés et le comportement de tous les objets qui l'utilisent. La résolution des problèmes avec la POO est obtenue en combinant ces "briques" de programmation de la bonne manière.

Avant de plonger, une première étape importante consiste à prendre le temps de concevoir la solution que vous proposez. En gros, ce que vous devez faire, c'est :

  1. Définir le problème et ce que le plugin doit faire pour le résoudre
  2. Décrire les classes et leurs relations ainsi que l'interaction entre les objets
  3. Transformez tout en code
  4. Examiner et tester le projet

Pendant que vous en êtes à cette étape, gardez à l'esprit que vous aurez de la chance si vous réussissez du premier coup ! Vous devrez recommencer jusqu'à ce que vous obteniez le bon concept qui résoudra le problème. Considérez-le comme faisant partie d'un processus créatif qui vous offrira un ensemble d'outils que vous pourrez ensuite utiliser en équipe sans conflits.

Dans un prochain article lié à la POO, nous démontrerons un exemple simple qui donnera vie à toute la théorie ci-dessus.

Les fonctionnalités de la programmation orientée objet

Avant d'aborder les fonctionnalités de la programmation orientée objet, voyons si nous pouvons clarifier davantage son fonctionnement avec une simple métaphore.

Disons que nous avons une chaudière que nous utilisons pour faire bouillir de l'eau. Lorsque nous utilisons la machine, nous le faisons d'une certaine manière, la seule que nous autorise le fabricant. Nous ne pouvons pas annuler le fonctionnement de la chaudière lorsque nous appuyons sur le bouton « Marche » et, pour être honnête, nous ne voudrions ni n'en aurions besoin. Cela nous donne deux avantages très importants.

Tout d'abord, la fonctionnalité limitée (c'est-à-dire faire bouillir de l'eau) signifie que le système est à la fois plus robuste et plus sûr. L'ensemble limité de fonctionnalités et la fourniture d'un simple bouton "Marche/Arrêt" signifient que nous, en tant qu'utilisateur, ne pouvons pas nous approcher du mécanisme de la chaudière. Par défaut, cela signifie qu'il y a moins d'erreurs et que le système est plus robuste dans son ensemble. La simplicité de l'opération le rend également beaucoup plus convivial avec à peu près n'importe qui capable de l'utiliser.

Hébergez votre site web avec Pressidium

GARANTIE DE REMBOURSEMENT DE 60 JOURS

VOIR NOS FORFAITS

Gardant cela à l'esprit, voyons comment cela se rapporte à la programmation orientée objet. En théorie, la POO a trois caractéristiques précieuses : l'encapsulation, l'héritage et le polymorphisme .

Ce que fait Encapsulation est de regrouper les données et le comportement au sein d'une seule entité. A l'intérieur de la Classe, vous pouvez définir comment elle sera utilisée (bouton chaudière) et contrôler la visibilité en utilisant l'étiquetage Public, Protégé ou Privé sur les Classes. C'est ce qui en fait également un système très sécurisé car il vous donne la possibilité de contrôler qui a accès. Cela signifie également qu'il est plus facile à entretenir et à utiliser.

L'héritage consiste à vous aider à réutiliser le code entre vos classes. Un tel exemple est lorsqu'une classe étend une autre classe. Vous avez peut-être utilisé cela lors de l'extension de la classe Walker pour modifier la sortie HTML d'une donnée arborescente comme un menu ou une structure de commentaires. Comprendre la relation entre vos classes vous permettra de créer du code orienté objet réutilisable.

Enfin, le polymorphisme est ce qui fait que toutes ces relations fonctionnent ensemble, ce qui définit ce que vos classes ont en commun, comment réutiliser ces éléments communs et s'ils sont liés à autre chose.

Conclusion

Sans quelques exemples concrets, il est probable que tout ce qui précède est encore un peu déroutant. Il est néanmoins important de préciser la théorie derrière la programmation orientée objet et dans les prochains articles, nous avancerons avec quelques exemples utiles afin que vous puissiez voir comment utiliser cette méthode de programmation passionnante dans le monde réel.

Notre objectif est qu'à la fin de la lecture de notre série d'articles sur la POO, vous soyez sûr d'utiliser cette méthode de programmation dans une grande variété de situations. En attendant, vous voudrez peut-être poursuivre votre lecture sur la POO sur Wikipédia.

Cliquez ici pour lire la partie 2 de notre série sur la programmation orientée objet