Introduction à PHP fonctionnel pour les développeurs WordPress: utilisation de filtres et de cartes sur la matrice post
Atus] [] = $post;} Le résultat est un tableau de deux index: on et off, avec un tableau de messages sous chaque index. C’est une façon très efficace de créer des résultats. C’est aussi une approche très \
Cette méthode est également basée sur les données en dehors de la boucle foreach, principalement le tableau $posts _ by comment Status créé avant elle, puis utilisé dans la boucle. De cette façon, l ‘« action » de la boucle foreach connaît ce qui se trouve en dehors de celle – ci. Cela est courant dans la programmation WordPress, mais il rend les opérations dans foreach \
$posts _ with closed Comments = Array Filter ($posts, Function ($post) {return $post – > comments status = = = ‘closed’;}) $ Posts _ with Open Comments = Array Filter ($posts, Function ($post) {return $post – > Comment status = = = ‘Open’;}); Pour l’instant, ce code ne s’applique qu’à PHP 5.3 et plus tard, mais je l’ai écrit parce que la plupart du Code WordPress d’aujourd’hui répond à cette hypothèse et que le mode de compatibilité 5.2 est plus difficile à comprendre pour votre première fois. (pour ceux
Si nécessaire, nous passerons les noms de fonctions comme second argument, qui sont définis séparément dans la fonction () {}).
Dans cet exemple, que faisons – nous? Nous utilisons la capacité de filtrer les tableaux pour créer un nouveau tableau qui ne contient que les éléments requis. Comment filtrer? Regardons de plus près Array _ filter (). Comme Array _ filter () en PHP, Array Filter nécessite deux arguments (trois sont acceptables). Ce sont des tableaux d’éléments à filtrer. La fonction à utiliser pour effectuer le filtrage. Cette fonction doit renvoyer True pour la valeur que le filtre doit passer et false pour la valeur à supprimer. (facultatif) drapeau qui ne passe que la clé ou la clé et la valeur du tableau à la fonction. Le paramètre par défaut que nous utilisons ici est de ne passer que des valeurs. Par conséquent, nous pouvons obtenir ici un tableau de postes où seule l’annotation fermée passe comme deuxième argument une fonction qui renvoie le rapport entre la valeur de la chaîne \
En supposant que vous vouliez vraiment deux collections, pas seulement une collection dans l’un ou l’autre état, le fait d’exécuter Array _ Filter deux fois est une victoire pour la méthode de processus. Mais pour moi, foreach ne garde généralement qu’une petite partie, et c’est exactement ce que fait Array _ Filter. Quelle est la fonction dans cet exemple? Dans notre exemple, la \
Les gens s’engagent après avoir rencontré la programmation \
Un autre point à noter est que la fonction que nous utilisons est apatride: elle ne connaît pas le reste du Code et n’en a pas besoin. Il sait juste qu’il a reçu un objet $post comme entrée et qu’il n’a besoin que de cet objet pour déterminer ce qu’il faut faire. De cette façon, on peut dire que la fonction est \
Filter () est l’une des meilleures passerelles pour la programmation de fonctions, car il vous demande de commencer à comprendre que les fonctions peuvent être très petites, très courtes et très simples. Indique les avantages expressifs que vous pouvez tirer de cette compacité simple lorsque vous passez une fonction à une autre. Le Code de programme est très commun dans WordPress et se caractérise par des fonctions de 10 à 100 lignes. L’utilisation de filtres est une bonne façon de commencer. La conversion d’éléments en tableaux et les opérations de cartographie à l’aide de filtres de cartographie sont des passerelles standard dans la programmation fonctionnelle, donc je dois appeler la cartographie.
Ou tous les objets post sont dans le tableau original. Sort () En bref, PHP peut effectuer des opérations de lecture et d’écriture pour vous; Sort () OK. Sort () accepte un tableau et le change en ordre alphabétique. La seule chose notable est une autre caractéristique de PHP: le tri modifie (en place) ce qui lui est passé et renvoie VRAI ou faux selon qu’il peut trier. Cet exemple met en évidence le problème que j’oublie souvent: $fruit = tableau (\