Un guide pour les développeurs de wordpress pour saisir des conseils en PHP 5 et 7
Nous surveillons constamment le contenu des variables. Par exemple, considérez les fonctions suivantes: fonction Slug _ Update Status ($Post, $status) {
Si (IS _ Numerical ($post) {
$post = get \ u post ($post);
}
Si (! Is _ Object ($post)
Reviens!
}
$post – > Post \ \ u status = $status;
Renvoie WP _ update post ($post);
} la plupart de cette fonction garantit que la variable $post est en fait un objet. Si vous passez un entier ou une chaîne qui peut être interprété comme un entier, essayez de le définir comme un objet en utilisant get _ Post ().
Nous pouvons l’écraser avec la recommandation de type pour forcer le premier paramètre à être un objet WP _ Post, de sorte qu’il n’est pas nécessaire de vérifier que $post est un objet. Fonction Slug \ \ u Update \ \ u Status (wp \ \ u post $post $status) {
$post – > Post \ \ u status = $status;
Renvoie WP _ update post ($post);
Cette fonction est maintenant plus courte, avec une seule responsabilité et une intention plus claire. La responsabilité de s’assurer que vous avez un siège valide a été transférée. Auparavant, la responsabilité de s’assurer que nous ne mettions à jour que les messages valides était dans cette fonctionnalité, ce qui n’était pas son but réel. La responsabilité est maintenant sur tout code que vous appelez cette fonction.
Pourquoi ne pas utiliser les conseils de type? Le dernier paragraphe de la section précédente peut vous convaincre d’utiliser des conseils de type. Ce simple changement rend le code plus court et plus concis, et la fonction respecte maintenant le principe de la responsabilité unique, qui est très important dans la conception du logiciel. Il y a une grande différence entre les deux fonctions. Si vous voulez savoir ce qui se passe si vous passez un ID postal valide aux deux, la différence devient évidente. Utilisez la première fonction pour obtenir le résultat désiré, et utilisez la deuxième fonction pour obtenir une erreur fatale. Demandez – vous ce qui se passe si vous passez à deux fonctions (un entier qui ne correspond pas au message). La première fois, ça n’est pas arrivé.
Une sous – classe. Cela ne s’applique pas réellement à WP _ post car il ne peut pas être étendu car il est défini avec le mot – clé final.
Cependant, si nous avons une fonction conçue pour créer une balise HTML à partir d’une instance de requête WP _ nous pouvons lui passer une instance de n’importe quelle classe qui étend la requête WP à elle. De plus, nous pouvons utiliser le nom de l’interface comme suggestion de type, ce qui offre une grande flexibilité. Conseils de type matriciel À mon avis, les conseils de type Array sont les conseils de type les plus utiles pour les développeurs WordPress en PHP5. Nous effectuons de nombreuses opérations de tableau, car les développeurs WordPress ont tendance à éviter de créer des objets spécialisés. Tant PHP que WordPress offrent de nombreuses fonctionnalités utilitaires utiles pour travailler avec des tableaux, mais ils doivent tous deux fournir un tableau. Si nous pouvons écrire une fonction ou une méthode pour forcer un tableau à passer, alors nous pouvons utiliser toutes ces fonctions utilitaires en toute sécurité.
Un tableau vide est un paramètre valide lorsque vous tapez une allusion comme tableau, mais NULL n’est pas. Cet exemple illustre ceci: fonction Slug _ flatte to json (array $Array) {
Renvoie WP _ json encode (array value ($Array);
}
Aucune erreur
$x = Slug _ flatten a json ([]);
Erreur fatale
$y = Slug _ flatten to json (NULL); Comme la recommandation de type est révocable, nous pouvons éviter les erreurs fatales en déclarant la fonction: la fonction Slug _ flatte to json (array $Array = null) {cependant, bien que cela prévienne les erreurs fatales, nous recevons toujours un avertissement PHP parce qu’il nous permet de passer NULL à Array values (). Dans ce cas, ce n’est pas bon, mais utile dans de nombreux cas.
Autotype prompt autotype prompt exige que les paramètres d’une méthode de classe (qui ne s’applique pas aux fonctions en dehors du contexte de l’objet) soient des instances de la même classe que la méthode appartient. Mais ce n’est pas le cas.
Sont des recommandations couramment utilisées dans les plugins ou les thèmes WordPress. Honnêtement, je ne vois pas l’utilité pratique de ça. Une représentation appelable en PHP est toute représentation, telle qu’une chaîne ou un tableau, qui peut être utilisée pour appeler une fonction ou une chaîne. Voici trois exemples de callables utilisés que les développeurs de WordPress devraient connaître: Add _ action (\
$analyse = nouvelle analyse ();
Ajouter une opération U (‘WP _ Head’, ‘[$Analysis,’ get Code ‘]);
Ajouter _ action (‘WP Head’, ‘Analytics class’,’ a Static Method ‘); Dans le premier exemple, nous utilisons le nom de la fonction \
Fonction statique add _ action ($action, Callback $Callback) {
Ajouter _ action ($action, $rappel);
}
Fonction statique add _ filter ($operation, Callback $Callback) {
Ajouter un filtre ($opération, $rappel);
}
Maintenant, si vous passez un callable invalide, votre erreur vous indiquera la classe qui l’a généré, la ligne qu’il a appelée et dans quel fichier. – Oui.
Il présente des avantages et des inconvénients similaires. Php 7.1 peut introduire des déclarations de type de propriété. À bien des égards, ces nouvelles fonctionnalités linguistiques sont très excitantes pour moi et je veux les utiliser tout le temps. C’est – à – dire que je crains que mon code ne devienne trop pédant pour être utilisé par d’autres. Je ne suis pas entièrement d’accord avec ces deux aspects, mais je pense que tout le monde devrait comprendre ces concepts. Après tout, c’est un logiciel libre que vous pouvez utiliser de n’importe quelle façon de compiler. Comme la plupart de mon travail implique une version générique du plug – in WordPress, je ne peux pas utiliser les fonctionnalités de php7, ce qui limite l’utilité des conseils de type pour moi. Mais le Code que j’ai écrit en PHP 7 utilise beaucoup de conseils de type et d’énoncés de type retournés. J’espère que cet article vous aidera à comprendre les caractéristiques de cette langue. De cette façon, vous comprendrez le sens de cette syntaxe et serez excité par PHP 7.