Voulez élever votre jeu WordPress à un nouveau niveau de programmation? Êtes vraiment prêt à améliorer vos compétences php? Êtes prêt à ajouter des fonctionnalités plus complexes et avancées à vos plug ins et thèmes? Bienvenue dans notre dernière collection, Advanced WordPress Development. Cette série, qui fait suite au populaire WordPress que nous avons développé pour les utilisateurs intermédiaires, présente un certain nombre de sujets de codage riches, y compris le développement détaillé de thèmes, la préparation de thèmes personnalisés, la création de plugins, la personnalisation des types et des catégories de messages, les requêtes et les boucles, La personnalisation des champs et des métadonnées, et la localisation.
Un défi encore plus difficile attend dans cette série de six semaines, mais cela donnera tous les droits, une fois que aurez terminé, pouvez appeler un développeur WordPress mature! Vous apprendrez à utiliser la technologie de Programmation orientée objet de PHP, comment écrire des plug ins orientés objet, utiliser des transitoires, améliorer le flux de travail de développement en utilisant la ligne de commande, compiler JavaScript et Sass en utilisant gulp, et automatiser WordPress en utilisant WP CLI. Note: il est important d’avoir une connaissance pratique de PHP, car c’est le langage WordPress de base de cette série, couvrant des thèmes avancés pour les développeurs. Je vais faire référence au fragment de code dans cette série.
Ce cours suppose que avez écrit du Code pour WordPress et que avez une compréhension de base du thème et de la façon dont les plugins fonctionnent. n’avez jamais développé ou souhaitez mettre à jour WordPress auparavant, je recommande fortement de lire WordPress Intermediate user Development, qui donnera tout ce que devez savoir avant de commencer cette série. Il y a aussi des choses que devez visiter afin que puissiez me suivre et travailler avec moi. Ce sont: les installations de développement WordPress. Je suggère de travailler sur la machine
Non, camp;rsquoest ça? Les classes et les objets suivent la même façon de penser. Chaque fois que avez besoin de voir un article, voudrez peut être voir le titre, le contenu et utiliser des fonctionnalités telles que Extract Builder et multilink creator. Vous pouvez grouper les fonctions connexes dans une classe pour créer une structure logique associée à un projet particulier, comme un billet de blog.
ce namp;rsquoest pas clair maintenant, ne inquiétez pas. Nous verrons de nombreux exemples dans ce tutoriel pour aider à mettre les choses au bon endroit. Pourquoi oop est il utilisé? Le Code orienté objet est généralement un bon Code. Il encapsule les groupes logiques du Code et fournit une bibliothèque de code plus propre et plus lisible. En outre, il offre les avantages suivants: le Code est plus facile à comprendre, les extensions de code sont plus simples et plus claires, le nom de la fonction namp;rsquoa pas besoin damp;rsquoêtre trop long, les fonctions à lamp;rsquointérieur de la classe ne sont pas en conflit avec les fonctions à lamp;rsquoextérieur de la classe, une bonne documentation oop est écrite et un degré plus élevé de réutilisabilité est possible. Par exemple, je pense quamp;rsquoil est préférable de commencer par un exemple qui commence par le Code de procédure et se développe en Code orienté objet.
Supposons que nous construisions quelque chose comme Twitter (ne pointez pas trop haut ou quoi que ce soit!) Nous devons limiter le nombre de caractères et convertir une chaîne spécifique en lien. Dans lamp;rsquoexemple suivant, jamp;rsquoai créé quelques fonctions que notre petit projet peut utiliser: le contenu charge 125eac6213f3bb67ef9510fb8978f597 la fonction get _ Chirp text () passe comme texte et lamp;rsquoarrête simplement après 200 caractères. La fonction get _ hashtags () Utilise quelques get hashtags () pour saisir toutes les chaînes qui commencent par une porte. CREATE _ Chirp () utilise la fonction précédente et génère un
Notre exemple de texte Chiré est en cours damp;rsquoexécution.
Jusquamp;rsquoà présent, tout va bien. Notre service Chirp a été lancé et fonctionne, mais il y a des problèmes potentiels avec notre Code. Que se passe t il si nous offrons un programme de monétisation de nos services qui permettra damp;rsquoutiliser 300 ou 500 caractères? Et si on voulait changer lamp;rsquoURL du hashtag? Et si on voulait lister les étiquettes qui gazouillent? Tous ces problèmes sont insurmontables, mais ils entraînent une complexité de code, ce qui est encore plus évident si nous avons du Code pour la gestion des utilisateurs, la visualisation, les actions de gazouillage, les flux, etc.
Par conséquent, nous encapsulons toutes les fonctions de tweet Chirp dans un code orienté objet. Je vais commencer par le code complet et lamp;rsquoexpliquer ci dessous: Télécharger le contenu 125eac6213f3bb67ef9510fb8978f597 il y a beaucoup à expliquer ici, mais je vais les décomposer en petits morceaux et verrez à quel point camp;rsquoest magique! Je vais expliquer cet exemple, et dans la prochaine section, nous examinerons les définitions techniques des composants. En haut, pouvez voir que jamp;rsquoa i créé une classe appelée Chirp. Il tourne autour damp;rsquoune série de variables et de fonctions. Les variables décrivent certaines propriétés importantes des objets qui seront créés à lamp;rsquoaide de cette classe.
$text contient le texte original que nous voulons convertir en Chirp $length contient la longueur autorisée du Chirp $hashtag _ base contient lamp;rsquoURL de base du lien de lamp;rsquoétiquette $hashtags contient la cartographie de lamp;rsquoétiquette $Chirp contient le HTML final de la fonction Chirp set Length (), maintenant concentrons nous sur set length (). Cette fonction namp;rsquoassigne que 200 $à ceci amp;gt longueur. Je tamp;rsquoentends demander ce quamp;rsquoest ce dollar? Camp;rsquoest un mot clé spécial qui pointe vers une variable ou une fonction dans une classe. Lorsque nous définissons la valeur de la propriété length avec $this amp;gt length, nous serons en mesure damp;rsquoappeler cette valeur à partir de namp;rsquoimporte quelle fonction qui sera exécutée plus tard dans la classe. Résultat: pas ABB
La différence entre un objet et une classe est que la classe est le projet sur lequel lamp;rsquoobjet est créé. La classe est définie en utilisant le mot clé de classe suivi du nom de la classe et des parenthèses contenant le Code de classe. La classe 125eac6213f3bb67ef9510fb8978f597 peut contenir deux choses, variables et fonctions, mais dans la classe, nous les appelons propriétés et méthodes Allez! Camp;rsquoest essentiellement une classe, une collection damp;rsquoattributs et de méthodes. Pour utiliser des propriétés et des méthodes dans une classe, devez utiliser le mot clé $this pour le référencer, par exemple: $this amp;gt get _ Chirp (). Pour accéder à une méthode ou à une propriété de lamp;rsquoextérieur de la classe, devez la référencer avec un nom de classe, par exemple: $Object amp;gt get _ Chirp (). Une classe peut contenir de nombreuses fonctions spéciales. Une de ces fonctions est Construct (), qui samp;rsquoexécute immédiatement après la création de lamp;rsquoobjet par la classe. Vous pouvez créer namp;rsquoimporte quel nombre damp;rsquoobjets à partir damp;rsquoune classe. 125eac6213f3bb67ef9510fb8978f597 Souvenez de toutes ces informations et je recommande de revenir à lamp;rsquoexemple ci dessus et de le relire, puis de passer à la section suivante. Jamp;rsquoaurais dû mettre des guillemets autour du mot
Votre statut damp;rsquoinscription ou la durée de votre inscription. nous utilisons une méthode séparée pour séparer le Code pour définir la longueur, nous pouvons changer la logique interne de la longueur sans affecter le reste du Code. La méthode de réglage des valeurs des attributs est généralement appelée fonction Setter. Notez que jamp;rsquoai défini quelques propriétés directement dans le générateur, mais pour certaines, jamp;rsquoai utilisé Setter. Ma logique est que si je peux le configurer sans avoir à le faire, alors je dois juste le configurer dans le constructeur. jamp;rsquoavais besoin de faire quelques calculs, comme utiliser hashtag, ou si je savais quamp;rsquoil y aurait bientôt une logique, comme la longueur, jamp;rsquoutiliserais Setter. Un petit problème avec cette classe est que nous générons le Chirp, le mettons dans lamp;rsquoattribut $Chirp, et le référençons. Cela rend cette classe un peu inutile après la création du Chirp. Une meilleure solution est de supprimer set _ Chirp () du constructeur, de le renommer get Chirp () et damp;rsquoutiliser cette fonction pour récupérer le Chirp. 125eac6213f3bb67ef9510fb8978f597 il est utile damp;rsquoeffectuer des opérations sur un Chirp avant et ou après sa création. La possibilité damp;rsquoutiliser des objets pour référencer des propriétés et des méthodes dans une classe nous donne de nombreuses politiques pour utiliser la classe. nous retirons la plupart des constructeurs de lamp;rsquoexemple initial, nous pouvons effectuer les actions requises en dehors de la classe. Voir: charger le contenu 125eac6213f3bb67ef9510fb8978f597 la différence ici est que le constructeur ne se soucie pas du hachage, ce qui signifie que la propriété $this amp;gt hashtags namp;rsquoest pas toujours disponible. Je lamp;rsquoexplique dans la fonction get _ Chirp (). Le résultat est que nous pouvons construire un Chirp de deux façons: le chargement de contenu 125eac6213f3bb67ef9510fb8978f597 est bon parce que
On a plus de contrôle, non? En quelque sorte. Camp;rsquoest sur la bonne voie, mais il y a une incohérence. Vous ne saurez jamais ce qui se passe lorsque appelez get _ Chirp (): il peut ou non avoir un lien damp;rsquoétiquette. Voici un exemple damp;rsquoutilisation de oop (ou PHP simple) qui peut causer des problèmes plus tard. Une meilleure façon est de créer deux fonctions, lamp;rsquoune affichant toujours un Chirp avec un lien, et lamp;rsquoautre affichant toujours un Chirp sans lien. Un exemple de WordPress WP _ Query est un bon exemple de WordPress. lamp;rsquoavez déjà utilisé sans en savoir plus sur oop, jamp;rsquoespère que camp;rsquoest plus clair maintenant. Supposons que créez une page WordPress spéciale qui contiendra vos huit derniers articles et trois prochains commentaires de livre. Vous pouvez créer deux objets en utilisant la même classe WP _ query: charger le contenu 125eac6213f3bb67ef9510fb8978f597 pour voir le document, et nous pouvons voir que cette classe fournit de nombreux attributs, tels que $found posts. Maintenant nous savons comment référencer ces propriétés: chargement de contenu 125eac6213f3bb67ef9510fb8978f597 classe Notez que la partie la plus difficile des objets et des classes namp;rsquoest pas de les utiliser, mais de les utiliser correctement. Dans le pire des cas, ils namp;rsquooffrent pas damp;rsquoavantages par rapport à la programmation de processus, et dans le meilleur des cas, ils fournissent votre structure de code et lamp;rsquoextensibilité. Il y a beaucoup plus dans ces classes que ce que nous avons appris ici, et ce ne sont que les bases nécessaires pour lire le Code qui utilise oop. Comme tout autre Code, il est très pratique damp;rsquoutiliser les secrets damp;rsquoune classe bien. Je exhorte à commencer à écrire du Code orienté objet. Quand jamp;rsquoai commencé à comprendre que tout semblait superflu Aucun avantage évident namp;rsquoa été apporté. Les raisons en sont les suivantes: il namp;rsquooffre aucun avantage. Une fois que jamp;rsquoai commencé
Pour apprendre quelques oop à travers certaines classes de WordPress, laraver et d’autres projets, j’ai déjà assez d’expérience pour écrire un code vraiment modulaire et auto descriptif en PHP. Maîtriser le développement de wordpress pour le moment, nous n’avons touché que les surfaces possibles. Comme je lamp;rsquoai déjà dit dans le tutoriel, il y a beaucoup plus de contenu dans le cours que nous ne le présentons ici. Je encourage à en apprendre plus, à pratiquer, à faire des erreurs et à ne jamais abandonner! Avant de commencer le prochain Tutoriel de cette série, voici quelques bonnes ressources à voir: Tutoriel de démarrage PHP orienté objet – Tuts + méthodes magiques – oop de démarrage PHP – héritage de développement wpmu – Tutoriel PHP5. Dans le prochain Tutoriel de cette série, nous allons mettre en pratique ce que avez appris jusquamp;rsquoà présent et commencer à écrire des plug ins orientés objet. Pensez que ce tutoriel est utile? Pourquoi voulez apprendre le développement de WordPress? Que voulez en savoir plus? Veuillez nous le faire savoir dans les commentaires ci dessous. Étiquettes: Code de développement
Développement avancé de WordPress: Introduction à la programmation orientée objet