Programmation orientée objet dans WordPress un résumé

Au cours des 12 derniers articles, nous avons examiné les bases de PHP, les bases de la programmation orientée objet, comment procéder de la sorte dans le contexte de WordPress, et nous avons même examiné le début de concepts plus intermédiaires, tels que en héritage.

À ce stade, il est temps de mettre un terme à la série pour débutants, mais avant cela, j'aimerais vous présenter un résumé de chacun des articles afin que nous puissions non seulement faire le point, mais pour que nous ayons également une seule page de résumé à mettre en signet pour référence.

Cela dit, passons en revue tout ce que nous avons couvert jusqu'à cet article. Nous inclurons des liens vers l'article d'origine, de brèves descriptions et d'autres informations pertinentes..

Un examen de la programmation orientée objet dans WordPress

Dans le premier article de la série, nous avons discuté de la direction que nous devions prendre avec les articles à venir. En bref, nous avons fourni un aperçu de haut niveau de ce dont nous discuterions, puis nous avons avancé à partir de là..

Peut-être que l’enlèvement le plus important de cet article était de comprendre «par où commencer? Quelle est la question que beaucoup de gens se posent quand ils commencent à programmer?. 

Pour cela, nous avons dit:

Mais ceux qui y ont travaillé pendant un temps considérable oublient souvent ce que c'était quand on essayait à l'origine de déchiffrer le code, de comprendre Pourquoi quelque chose a été écrit comme ça, Comment l'auteur savait utiliser quelle fonction et où, et déterminer le raisonnement derrière certaines décisions de mise en œuvre.
Nous avons tous été là à un moment donné, non? Nous avons examiné le code, essayé de déterminer le flux de contrôle et demandé un jour «par où puis-je commencer? 
Et le but de cette série est de répondre à cette question.

Et c’est exactement ce que nous voulions faire avec les points suivants abordés chacun dans son propre article.

1. cours

Le but de cet article était de définir les bases de la programmation orientée objet: les classes. Tout d'abord, nous avons mentionné que les classes sont généralement définies comme suit:

Une classe est un plan pour la création d'un objet.

Mais nous avons également reconnu qu'il s'agit d'un sujet particulièrement déroutant pour la plupart des gens. notamment si ils commencent juste la programmation orientée objet. 

Nous avons donc parlé de classe en fonction des caractéristiques définies:

Donc généralisons cette idée aux objets. En fait, substituons un mot à un autre:
Un nom est un objet.
Un adjectif un attribut (ou une propriété).
Un verbe est une méthode (ou une fonction).

De plus, nous avons examiné à la fois les bons et les mauvais exemples de ce qui définit une classe, et nous avons travaillé à la définition d'un modèle mental permettant de visualiser les classes lorsque vous les utilisez.

Cela a finalement préparé le terrain pour le plugin que nous écririons à l'avenir. Mais avant tout, nous devions nous assurer de bien comprendre les bases de PHP avant de passer à la fonctionnalité plus avancée des classes..

2. Types

Dans cet article, nous avons parlé des deux types existants dans WordPress:

  1. Types simples
  2. Types complexes

Et ensuite, nous avons défini chacun des éléments ci-dessus comme tels:

Les types de données simples sont définis comme tels car les données qu’ils représentent sont,, simple. C'est-à-dire qu'il tombera normalement sous la bannière de vrais, de faux, de nombres décimaux et de mots et / ou de phrases.

Et puis on a dit:

Les deux types de données complexes principaux sur lesquels nous allons nous concentrer dans cette série sont des tableaux et des objets. Il y en a plus, mais ils sortent du cadre de cette série, donc si vous êtes intéressé, n'hésitez pas à consulter le manuel PHP, mais je vous préviens: si vous êtes débutant absolu, le contenu peut sembler un peu accablant.

En résumé, les exemples ci-dessus peuvent être illustrés comme suit:

  • booléens
  • entiers
  • nombres à virgule flottante
  • des cordes
  • tableaux
  • objets
  • … et plus

Bien sûr, elles sont surtout utiles lorsque nous commençons à les utiliser dans le contexte de fonctionnalités plus avancées telles que les instructions conditionnelles et les structures de contrôle..

3. Structures de contrôle

Dans le premier article de la Structures de contrôle série, nous avons parlé des déclarations conditionnelles. 

Tout d'abord, rappelons que:

"Structures de contrôle" est un terme sophistiqué qui décrit comment nous pouvons, ahem, contrôler la manière dont le code circule dans notre programme en fonction d'un certain nombre de facteurs.

Les deux structures de contrôle dont nous avons parlé sont si donc déclarations et commutateur / boîtier déclarations, puis nous avons examiné des exemples de chacun. En plus de cela, nous avons utilisé ceux-ci dans une partie du code que nous avons écrit soit dans notre plugin ou dans notre exemple d'héritage.

Dans la même série, nous avons parlé de boucles. Rappelles toi:

Supposons que nous ayons un ensemble de données, peut-être un ensemble de 10 publications, et que nous souhaitons parcourir et imprimer le titre et la date de chaque publication. Les boucles nous permettent de le faire.

La liste des boucles que nous avons examinées comprenait:

  • pour
  • pour chaque
  • faire
  • tandis que

Et nous avons examiné des exemples de chacun et comment les utiliser en parcourant diverses structures de données..

4. Fonctions et attributs

Après avoir abordé certains aspects fondamentaux du développement de PHP, nous avons ensuite abordé les fonctions de couverture (qui peuvent toujours être utilisées dans la programmation procédurale) et les attributs propres à la programmation orientée objet..

Pour résumer, les fonctions sont utilisées pour compléter une unité de travail, mais elles utilisent également certaines des structures susmentionnées pour aider à achever ledit travail:

Les variables, les conditions, les boucles, etc., sont également responsables de l'exécution d'un travail à l'unité. cependant, chacun de ceux-ci travaillent ensemble pour obtenir quelque chose de légèrement supérieur à eux-mêmes.

Nous avons ensuite examiné un exemple de fonctions variées, certaines extrêmement simples, d'autres plus complexes exploitant tous les types, structures de contrôle et boucles ci-dessus..

Mais ce n'est pas tout: puisque des fonctions peuvent exister au sein d'une classe et aider une classe à terminer son travail, elles fonctionnent également en conjonction avec des attributs (qui sont les adjectifs d'un objet, si vous vous en souvenez plus tôt dans l'article)..

La chose à propos des attributs est la suivante:

Ce ne sont que des variables, comme nous l’avons déjà vu dans la série, et ils peuvent contenir n’importe quel type de valeur, qu’il s’agisse d’un type de données primitif tel que chaîne, entier, booléen ou référençant un type de données plus complexe, tel que tableau ou un autre objet.

Le fait est qu'ils ne sont pas enfermés dans une fonction. Au lieu de cela, ils vivent au niveau de la classe. Et quand ils résident au niveau de la classe, il y a un niveau de portée qu'ils doivent - avec les fonctions - avoir.

5. Portée

À partir de là, nous avons commencé à parler de portée.

En bref, la portée fait référence à la manière dont les variables et les fonctions peuvent être accessibles à partir d'objets tiers ou d'objets enfants dans le programme.. 

Dans l'article, nous avons même examiné un diagramme de haut niveau ainsi que du code source qui en démontrait le sens..

La clé à emporter; Cependant, cette portée peut prendre trois formes différentes:

  1. Publique qui est disponible pour la classe elle-même et toutes les classes tierces
  2. protégé qui est disponible pour la classe elle-même et toutes les sous-classes
  3. privé qui n'est disponible que pour la classe dans laquelle il est défini

Cela est devenu encore plus clair lorsque nous avons commencé à construire notre plugin en utilisant ce que nous avons appris.

6. Construire le plugin 

dans le Construire le plugin série, nous avons d’abord parlé de ce que nous construisions réellement, puis nous avons commencé à implémenter le plugin.

Tout au long de ce processus, nous avons appris qu’il était important de planifier le plug-in avant de commencer la mise en œuvre de manière à disposer d’une feuille de route permettant de savoir où nous nous dirigeons..

Après cela, nous avons ensuite commencé à mettre en œuvre les idées que nous avions exposées au point de disposer d’un plugin pleinement fonctionnel couvrant exactement tout ce que nous avions couvert jusqu’à présent..

En fait, nous avons rendu le plugin disponible au téléchargement sur GitHub.

Mais nous n'avions pas encore fini. Après cela, nous avons dû documenter le plugin en utilisant les commentaires de code appropriés pour expliquer ce que font chacun de nos fichiers, classes, attributs et méthodes..

7. Documenter le plugin

Dans cette série d’articles, nous avons d’abord abordé les normes PSR ainsi que les normes de codage WordPress, puis nous avons commencé à documenter les bases de notre plugin..

Cependant, ce n’est que lors de la deuxième partie de la série que nous avons réellement commencé à utiliser les stratégies de documentation décrites dans les normes de codage WordPress. Dans cet article, nous avons complété le reste de nos efforts de documentation en fournissant des commentaires pour chaque classe, attribut, fonction et même exiger déclaration qui existe dans le plugin.

Finalement, ce développement complet du plugin nous a permis de transférer notre discussion sur un sujet plus intermédiaire..

8. Héritage

Au cours des deux prochains articles, nous avons abordé l’un des sujets les plus intermédiaires de la programmation orientée objet: l’héritage. Ce n'était pas censé être une introduction tout inclus sur le sujet, mais c'était suffisant pour aider ceux d'entre vous qui ont un intérêt naissant pour la programmation orientée objet en PHP à se familiariser avec son fonctionnement.

Dans le premier article, nous avons examiné certains principes fondamentaux ainsi que son utilisation dans l'application WordPress, en particulier lors de l'utilisation de widgets..

Dans le dernier article, nous avons construit notre propre implémentation de l'héritage qui, bien que très simpliste, fournissait une démonstration pratique du fonctionnement de l'héritage dans PHP..

Conclusion

De toute évidence, nous avons couvert beaucoup du contenu de cette série. Espérons que ceux d'entre vous qui commencent tout juste à travailler avec WordPress et la programmation orientée objet en général l'ont trouvé utile.

Bien que je ne sois pas opposé à une autre série de sujets avancés, je suis plus curieux de connaître vos commentaires, vos commentaires et vos questions sur la série actuelle. N'hésitez pas à l'offrir dans le fil de commentaires..

En ce qui concerne les futures séries, faites le moi savoir et nous verrons ce que nous pouvons faire.

En dehors de cela, bonne chance dans vos projets avec WordPress, la programmation orientée objet, etc. J'ai hâte de voir ce que vous proposez!