Utilisation de WordPress pour le développement d'applications Web examen

Au cours des derniers mois, nous avons examiné toutes les fonctionnalités et tous les aspects qui font de WordPress une base potentielle pour le développement d'applications..

En fait, nous avons consacré environ 15 articles à toutes les offres WordPress..

Et bien que nous examinions chacun des points de cet e-mail, peut-être que la chose la plus importante à retenir de la création d'applications Web avec WordPress est différente de celle de la plupart des frameworks populaires actuellement disponibles, notamment parce que WordPress n'est pas une solution de rechange. cadre.

C'est une base sur laquelle nous pouvons construire. pas un cadre avec lequel nous construisons.

Cela signifie que nous devons changer notre modèle de pensée quant à la manière dont les différents composants de notre application sont construits pour qu'ils fonctionnent de manière optimale dans le contexte et l'environnement dans lesquels ils s'exécutent..

1. Cadres et fondations

Dans le premier article de la série, nous examinons brièvement ce que cela signifie d’être un cadre:

En programmation informatique, un framework logiciel est une abstraction dans laquelle un logiciel fournissant une fonctionnalité générique peut être modifié de manière sélective par un code supplémentaire écrit par l'utilisateur, fournissant ainsi un logiciel spécifique à l'application. Un framework logiciel est une plate-forme logicielle universelle et réutilisable permettant de développer des applications, des produits et des solutions. Les infrastructures logicielles incluent des programmes de support, des compilateurs, des bibliothèques de codes, des jeux d'outils et des interfaces de programmation d'application (API) qui rassemblent tous les composants nécessaires au développement d'un projet ou d'une solution..

Et ce que cela signifie d'être une fondation:

En bref, les logiciels peuvent être construits sur des frameworks, les logiciels peuvent étendre des fondations.

Ces deux définitions jettent les bases de la manière dont nous commencerions à regarder WordPress, comment il est construit, les modèles de conception qu’il met en œuvre et comment nous devons ajuster notre modèle conceptuel de sorte que nous réfléchissions correctement au code de base sous-jacent afin que nous en tirons parti du mieux que nous pouvons pour le travail que nous devons faire.

2. Repenser l'architecture

Comme avec la plupart des applications Web, WordPress est structuré de la même manière:

  1. La couche de base de données
  2. La couche d'application
  3. La couche de présentation

Mais lorsqu'il s'agit de créer des applications sur WordPress, nous changeons un peu les choses. C’est-à-dire que bien que WordPress conserve la même structure et que nous puissions construire nos propres solutions en utilisant nos propres stratégies, modèles de conception, etc., nous allons un peu nous accrocher à l’application WordPress afin que notre propre logique métier puisse fonctionner. , et afin d’afficher des choses dans notre posséder couche de présentation.

Pour ce faire, il est important de comprendre le modèle de conception qui anime WordPress. Et bien que MVC et ses variantes soient à la mode ces derniers temps, WordPress suit une convention différente.

3. Le modèle conceptuel (événements, actions et filtres)

Dans un article de suivi sur l'architecture de WordPress, nous avons expliqué comment WordPress utilise la programmation événementielle..

Au lieu de cela, la programmation événementielle part du principe que "quelque chose est comme ce qui s'est passé". D'où le nom de actes dans le jargon WordPress (bien sûr, nous avons aussi des filtres, mais je couvrirai ceux-ci dans un instant).

Plus précisément, nous avons expliqué comment cela nous amène à l’idée selon laquelle, dans la programmation, quelque chose arrive et puis nous sommes en mesure de tirer parti de ces points clés.

Dans WordPress, ces fonctionnalités particulières sont appelées crochets et peuvent être définies de deux manières:

  1. Les actions indiquent que certaines choses telles que le chargement de certaines données ou la préparation de certaines fonctionnalités sont disponibles.
  2. Les filtres sont des points du cycle de vie de l’application WordPress qui interceptent, gèrent et renvoient des données avant qu’elles ne soient dans le navigateur ou dans la base de données..

Nous avons ensuite discuté plus en détail de chacune d’elles. En utilisant des définitions plus longues, des exemples de code et quelques-uns des points d'ancrage les plus courants disponibles, nous avons examiné comment les utiliser au mieux, et comment ils peuvent nous être utiles lorsque nous travaillons avec nos propres applications Web..

5. Gestion des utilisateurs, sessions et courrier électronique

Nous avons ensuite commencé à parler de plusieurs fonctionnalités qui sont au cœur du développement d’applications Web:

  • la création et la gestion des comptes utilisateurs
  • sessions pour données persistantes
  • services de messagerie

Nous avons traité ces éléments en séquence, non seulement parce qu’ils sont au cœur de nombreuses applications Web modernes, mais aussi parce qu’ils sont souvent utilisés conjointement..

Par exemple, lorsqu'un nouvel utilisateur enregistre un compte, il / elle recevra un courrier électronique sur la manière de l'activer ou de s'y connecter, puis, une fois l'utilisateur connecté au système, il est probable qu'il va établir une session de telle sorte que les données soient transférées. avec eux sur le site jusqu'à la fin de leur session.

Si la construction d’applications dans WordPress pose généralement un problème, c’est qu’il n’ya pas vraiment d’API de session. Au lieu de cela, nous devons nous rabattre sur les installations offertes par PHP. Ce n'est pas difficile, mais si vous n'avez jamais pris le temps d'introduire correctement une fonctionnalité PHP native dans une application existante qui ne l'incorporait pas déjà d'une manière ou d'une autre, il y a plusieurs points à comprendre..

Enfin, le courrier électronique est évidemment essentiel pour communiquer avec les utilisateurs. Cependant, de nombreux développeurs qui travaillent avec WordPress (quel que soit leur niveau d'expérience) ne sont pas toujours conscients de la possibilité de personnaliser complètement les courriers électroniques envoyés non seulement au cours du cours habituel des événements, mais également lorsque certains événements se produisent qui peuvent justifier une email dans le contexte de votre application qui n'est pas standard dans WordPress.

6. Sauvegarde et récupération de données

Une fois que l'utilisateur est connecté à l'application, il est probable qu'il enregistre et récupère des données, mais si ce n'est pas le cas, il est encore possible que nous enregistrions certaines de leurs informations pour rien d'autre que de savoir comment elles ' utiliser le site ou leur restituer les informations.

Heureusement, WordPress possède une API qui rend cela très facile, mais cela se fait également au détriment de la nécessité de valider et de purifier les données à la fois lors de la sauvegarde et de la récupération d'informations..

Ceci est essentiel car nous voulons nous assurer que des informations malveillantes ne sont pas insérées dans la base de données, et nous voulons nous assurer que nous récupérons les informations de manière sûre, de manière à ce qu'elles soient lisibles et conviviales pour les utilisateurs..

7. Réécriture d'URL

Alors que nous commencions à terminer la série, nous avons un peu parlé des schémas modernes de réécriture d’URL et de la manière dont WordPress offre une variété de façons de le faire immédiatement..

Mais nous avons examiné de plus près et comparé ce que de nombreux frameworks modernes offrent en termes de personnalisation des itinéraires. Plus précisément, nous avons étudié la manière dont les itinéraires RESTful peuvent être implémentés dans WordPress à l'aide de l'API Rewrite pour donner un schéma d'URL plus propre, pourquoi cela est bénéfique pour les utilisateurs et comment le gérer dans WordPress..

De plus, nous avons évoqué quelques-uns des pièges à éviter et comment les éviter en intégrant des règles personnalisées à notre application..

8. Caching

La vitesse étant une fonctionnalité, nous avons ensuite abordé brièvement l'API WordPress Transient afin d'apprendre à mettre en cache des informations dans notre application..

Bien que de nombreux plug-ins et autres packages logiciels puissent introduire la mise en cache dans nos sites Web et applications, nous pouvons également faire des choses en tant que programmeurs pour aider à tirer parti des fonctionnalités natives de WordPress et de sa base de données sous-jacente, ce qui fonctionnera bien avec ce dernier. mise en cache des applications.

Le fait est que, même si vous ne comptez pas sur des applications tierces pour la mise en cache, vous pouvez toujours tirer parti de la manière dont WordPress organise les informations dans sa base de données, de sorte que vous pouvez toujours augmenter les performances de votre travail en tirant parti de cette API..

9. Interrogation de la base de données

Enfin, nous avons terminé notre exploration et notre discussion des fonctionnalités d’utilisation de WordPress comme base du développement d’applications en expliquant les meilleures méthodes d’interrogation des données..

Plus précisément, nous avons discuté de:

  • WP_Query qui est utilisé pour effectuer des requêtes plus avancées sur les types d'article, les taxonomies, les métadonnées, etc..
  • WP_User_Query qui est utilisé pour écrire des requêtes avancées sur la table de l'utilisateur.
  • $ wpdb pour écrire des requêtes de base de données personnalisées.

Nous avons ensuite examiné les cas d'utilisation de chacune des API disponibles, comment les exploiter dans notre projet et dans quelles conditions utiliser celle-ci..

Parce que WordPress est une application pilotée par une base de données, les applications que nous construisons par la suite le seront également. Il est donc important de savoir exactement comment interagir avec les API disponibles afin de ne pas seulement récupérer les informations correctes, mais aussi de manière performante. , facile à lire, maintenable et évolutive.

Où allons-nous à partir d'ici?

Le but ultime de cette série d’articles était de fournir un aperçu complet de ce que WordPress propose en matière de développement d’applications Web..

Bien sûr, en tant que développeurs, nous devons nous rappeler qu’il n’ya pas de solution miracle en ce qui concerne la fourniture de solutions pour nous-mêmes, nos clients et nos clients: il s’agit de trouver le bon outil pour le poste. Dans certains cas, ce sera WordPress, dans d'autres cas, ce ne sera pas le cas. Tout ça pour dire, juste parce que WordPress pouvez être utilisé ne signifie pas qu'il devrait être utilisé, et nous ne devrions pas travailler pour forcer la résolution de notre problème dans WordPress quand ce n'est pas correct.

Cela dit, quand WordPress Est-ce que Offrez les fonctionnalités, les API et la structure adéquates pour résoudre le problème, puis conservez cette série d'articles à portée de main, car elle vise à vous fournir exactement ce dont vous avez besoin pour créer des applications Web solides au-dessus de la base existante WordPress..