Nous surveillons constamment le contenu des variables. Par exemple, considérez les fonctions suivantes: fonction Slug _ Update Status ($Post, $status) {
(IS _ Numerical ($post) {
$post = get u post ($post)
}
(! Is _ Object ($post)
Reviens!
}
$post amp;gt Post u status = $status
Renvoie WP _ update post ($post)
} la plupart de cette fonction garantit que la variable $post est en fait un objet. 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 lamp;rsquoécraser avec la recommandation de type pour forcer le premier paramètre à être un objet WP _ Post, de sorte quamp;rsquoil namp;rsquoest pas nécessaire de vérifier que $post est un objet. Fonction Slug u Update u Status (wp u post $post $status) {
$post amp;gt 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 samp;rsquoassurer que avez un siège valide a été transférée. Auparavant, la responsabilité de samp;rsquoassurer que nous ne mettions à jour que les messages valides était dans cette fonctionnalité, ce qui namp;rsquoétait pas son but réel. La responsabilité est maintenant sur tout code que appelez cette fonction.
Pourquoi ne pas utiliser les conseils de type? Le dernier paragraphe de la section précédente peut convaincre damp;rsquoutiliser 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. voulez savoir ce qui se passe si 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 ce qui se passe si passez à deux fonctions (un entier qui ne correspond pas au message). La première fois, ça namp;rsquoest pas arrivé.
Une sous classe. Cela ne samp;rsquoapplique 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 damp;rsquoune instance de requête WP _ nous pouvons lui passer une instance de namp;rsquoimporte quelle classe qui étend la requête WP à elle. De plus, nous pouvons utiliser le nom de lamp;rsquointerface 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. 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 tapez une allusion comme tableau, mais NULL namp;rsquoest 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 quamp;rsquoil nous permet de passer NULL à Array values (). Dans ce cas, ce namp;rsquoest pas bon, mais utile dans de nombreux cas.
Autotype prompt autotype prompt exige que les paramètres damp;rsquoune méthode de classe (qui ne samp;rsquoapplique pas aux fonctions en dehors du contexte de lamp;rsquoobjet) soient des instances de la même classe que la méthode appartient. Mais ce namp;rsquoest pas le cas.
Sont des recommandations couramment utilisées dans les plugins ou les thèmes WordPress. Honnêtement, je ne vois pas lamp;rsquoutilité pratique de ça. Une représentation appelable en PHP est toute représentation, telle quamp;rsquoune 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 (amp;lsquoWP _ Headamp;rsquo, amp;lsquo[$Analysis,amp;rsquo get Code amp;lsquo])
Ajouter _ action (amp;lsquoWP Headamp;rsquo, amp;lsquoAnalytics classamp;rsquo,amp;rsquo a Static Method amp;lsquo) 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 passez un callable invalide, votre erreur indiquera la classe qui lamp;rsquoa généré, la ligne quamp;rsquoil 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. Camp;rsquoest à dire que je crains que mon code ne devienne trop pédant pour être utilisé par damp;rsquoautres. Je ne suis pas entièrement damp;rsquoaccord avec ces deux aspects, mais je pense que tout le monde devrait comprendre ces concepts. Après tout, camp;rsquoest un logiciel libre que pouvez utiliser de namp;rsquoimporte 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 jamp;rsquoai écrit en PHP 7 utilise beaucoup de conseils de type et damp;rsquoénoncés de type retournés. Jamp;rsquoespère que cet article aidera à comprendre les caractéristiques de cette langue. De cette façon, comprendrez le sens de cette syntaxe et serez excité par PHP 7.
Un guide pour les développeurs de wordpress pour saisir des conseils en PHP 5 et 7