Révision de la spécification partie 3 construction et reconstruction d&rsquoun post générateur

Expérience drsquoapprentissage. Je comprends. Mais en tant qursquoexercice drsquoapprentissage, nous pouvons nous concentrer sur lrsquointention de cette approche et commencer à envisager son application dans le monde réel. Jrsquoespère que envisagerez de traiter une plus large gamme de demandes de recherche.
Lorsque filtrez des messages pour une demande de recherche, devrez peut être effectuer un certain traitement, comme la récupération, le tri, lrsquoassemblage et ou même la génération. Ce « Traitement » dépend des exigences du programme et des règles opérationnelles, ainsi que des exigences particulières en matière de recherche. Cela signifie que nous avons besoin de différentes implémentations pour gérer chaque scénario de demande afin de soumettre des messages pertinents pour les demandes de recherche. Dans le prochain article, nous approfondirons les concepts de conception pour différentes implémentations. Mais dans ce cas, nous sommes généralement drsquoaccord pour dire que nous avons besoin de souplesse pour gérer les différentes règles commerciales du projet lors du filtrage des demandes de recherche.
Vous êtes drsquoaccord? non, parlons. Dans lrsquoaffirmative, nous acceptons que la méthode getposts () soit capable de traiter différentes exigences de post filtrage. Le Code dans cette méthode nrsquoest qursquoune implémentation, une façon de gérer le post filtrage. Votre application réelle aura besoin de différentes implémentations, peut être plusieurs scénarios dans le même projet. Par conséquent, la tâche de générer un emploi nécessite sa propre mise en œuvre. Dans notre conception actuelle, cela signifie qursquoil srsquoagit drsquoune approche distincte. Le résultat: Nous avons supprimé le commentaire en ligne parce que le nom de la méthode nous dit ce qursquoelle fait. La méthode getposts () getposts () est donc flexible. Nous sommes en train de reconstruire.
Nous avons créé une nouvelle méthode privée appelée generateposts (). Le nom de cette méthode nous dit qursquoelle va générer des messages. Parce que nous créons une nouvelle méthode
Élément. Tu sais ce que je vais dire? Variable drsquoindex circulaire, tableau drsquoindex PHP. Lrsquoindex du tableau correspond à lrsquoindex de la boucle.
Laissez moi aider à voir ce qui se passe: premier cycle: début du cycle, $postnumber = 0. Le Code va créer un nouveau post. Il est attribué à lrsquoélément 0 du tableau. Prochain cycle: ce cycle augmente $postnumber à 1. Le Code va créer un nouveau post. Il est assigné à lrsquoélément 1 du tableau. Répétez jusqursquoà la fin. Vous nrsquoavez pas besoin de lui dire drsquoinsérer un message à un point drsquoindex particulier dans le tableau. Pourquoi? Php le fait automatiquement pour nous. Nous pouvons donc refaire le Code comme suit: $mockposts [] = $post Pourquoi est ce une meilleure stratégie? Drsquoabord, il y a moins de code à lire. Cela signifie que nous nrsquoavons pas à essayer de savoir si le tableau drsquoindex peut ne pas être synchronisé avec la boucle. Deuxièmement, plus vite. Pourquoi? Php nrsquoa pas besoin de rechercher les valeurs associées à cette variable avant drsquoajouter un nouvel élément post. Ce nrsquoest qursquoun pas de moins. Indique à PHP où le Code incorporé dans la chaîne commence et se termine PHP a besoin de votre aide pour identifier rapidement les variables ou le code dans la chaîne intégrée. Comment as tu pu faire ça? Inclure la variable (ou le Code) entre parenthèses bouclées. Les parenthèses drsquoouverture disent à lrsquoanalyseur PHP:
Il améliore la lisibilité du Code en disant
{Y}
$mulation post = []
Pour ($numeropost = 0 $numeropost) lt?php
spazio dei nomi CalderaLearnRestSearch
**
* Filtro classeWPQuery
*
* Modifica l039oggetto WP_Query durante le richieste API REST
*
* @pacchetto CalderaLearnRestSearch
*
la classe FilterWPQuery implementa FiltersPreWPQuery
{
Codice omesso per brevità.
** @inheritdoc *
funzione statica pubblica getPosts() : array
{
Crea 4 post fittizi con titoli diversi
$mockPosts = []
for ($i = 0 $i Post _ title =
$post gt Filter = lsquooriginalrsquo
$mulation post [] = $post
}
Retour à $mulation post
Jrsquoai beaucoup parlé dans cet article. Résumons ce que nous avons fait et déterminons comment il a amélioré la lisibilité et ou le rendement du Code: lt?php
spazio dei nomi CalderaLearnRestSearch
usa stdClass
usa WP_Post
Codice omesso per brevità
$post = new WP_Post((new stdClass())) Fai in modo che l039indicizzatore del loop ci dica cosa rappresenta Sappiamo tutti che $i rappresenta il valore corrente dell039indice di un ciclo. È una convenzione di denominazione comune. Tuttavia, quando quella variabile viene utilizzata nel codice, è una pratica migliore darle un nome descrittivo e espressivo per dirti quale valore rappresenta all039interno del suo dato contesto .
Quando leggi $i nel codice del generatore, cosa significa per te? Il valore è il numero del ciclo? No, qui in questo contesto, rappresenta il numero del post. Sì, è un indicizzatore, ma poiché lo includiamo come parte del titolo del post, ci dice il numero del post. Quindi chiamiamolo $postNumber : for ($numeropost = 0 $numeropost Amélioration de la lisibilité

Une nouvelle méthode privée a été créée pour le Code post générateur

Classe importée dans lrsquoespace de noms actuel

Variable drsquoindex circulaire renommée

Indexeur de tableau supprimé

Envelopper les variables intégrées dans une chaîne

Amélioration du style et du formatage du Code

Le Code final et chaque étape de remaniement sont enregistrés dans la requête pull sur github. Je invite à explorer. Qursquoen penses tu? Ces améliorations signifient elles quelque chose pour ? Non, sérieusement, jrsquoaimerais avoir ton avis. Apprenez comment chacune de ces politiques est mise en œuvre dans votre code à partir drsquoun processus détaillé. Jrsquoai hâte de discuter de ce processus drsquoexamen et de remaniement avec . Nrsquohésitez pas à me poser des questions et à partager vos commentaires dans les commentaires ci dessous.

Laisser un commentaire

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

ContactPress Supported By WordPress Plugins