T PHP. (pour une introduction à la programmation orientée objet en PHP, lisez les deux articles suivants: concepts de base de lrsquooop et une étude approfondie de lrsquooop.)
La commande WP CLI est une seule opération ou un ensemble drsquoopérations enregistrées par WP CLI à lrsquoaide drsquoun crochet. C’est la même chose que la plupart des WordPress. Cependant, la différence est qursquoen plus drsquoenregistrer une seule commande et un seul appel au crochet, pouvez attacher lrsquoobjet PHP entier à lrsquoappel en utilisant WP CLI. Dans ce cas, toutes les méthodes publiques de lrsquoobjet deviennent des commandes CLI exécutables (ou des sous commandes si désiré). C’est un choix très intéressant et puissant, mais tous les développeurs wordpress ne s’attendent pas à ce que cela se produise par défaut. La première fois que je lrsquoai entendu, jrsquoai eu des doutes subtils quant à ma compréhension. WordPress n’a pas beaucoup de magie.
Les commandes que nous allons examiner et pourquoi: WP DB Import WP CLI (le projet principal) est actuellement organisé dans une série de dépôts différents qui peuvent effectuer des opérations sur de nombreuses commandes immédiatement. Ensuite, les composants du plug in sont complètement différents du noyau, et au moment de la publication, le processus utilise composer pour insérer toutes les commandes qui devraient être dans lrsquoensemble principal avant lemballage final. Crsquoest un autre exemple très intéressant de modularité et de vision, mais cela peut embrouiller certaines personnes. Certaines commandes, comme les plug ins et les sujets, sont situées dans le dépôt WP CLI WP CLI, mais la plupart des autres sont situées à lrsquoextérieur du dépôt. Je pense que ces commandes externes sont utiles à ceux qui pensent écrire leurs propres commandes. Après tout, si pouvez ajouter des commandes au noyau WP CLI, savez déjà comment créer des extensions.
Quoi qursquoil en soit, la commande que nous examinerons plus attentivement et que nous comprendrons mieux est lrsquoimportateur de base de données. Comme nous lrsquoavons fait
Ici, crsquoest le paramètre db. Comme indiqué ci dessus, toutes les méthodes publiques de la classe de commande db u y sont accessibles. Vous pouvez enregistrer des choses comme DB coolmethod en particulier, mais dans ce cas, nous avons vu la magie de la façon drsquoutiliser WP CLI pour enregistrer une douzaine de commandes sur une ligne. Une chose intéressante et un peu magique à propos de la façon dont les commandes WP CLI sont enregistrées est que toutes les commandes sont enregistrées sur la ligne de commande. De plus, crsquoest en fait le résultat drsquoannotations PHP qui correspondent plus ou moins à la commande elle même. Cela présente de nombreux avantages.
Donc, avant drsquoexaminer le Code de la commande drsquoimportation WP DB, regardons son bloc de document. Ce que devez savoir, crsquoest que ce que voyez (lignes 340 à 361) est ce que obtenez lorsque êtes dans lrsquointerface drsquoaide de la commande drsquoimportation WP db. Importer une base de données à partir drsquoun fichier ou drsquoun stdin. Lancez la requête SQL en utilisant les identifiants de base de données DB _ host, db name, DB user et *
Commandes en ligne de commande.
Ce document nrsquoest pas entièrement nécessaire pour que la commande WP CLI fonctionne correctement, mais crsquoest une bonne habitude. écrivez plus tôt, cela donnera plus de réflexion sur la façon dont les utilisateurs utiliseront votre travail. Crsquoest presque toujours une bonne chose. Comment fonctionne WP DB Import si lisez cet article pour comprendre la structure de la commande WP CLI, les algorithmes réels et les ensembles de fonctions utilisés par cette commande particulière ne seront pas utiles. Mais on peut en tirer quelque chose drsquointéressant. Abréviations abrégées: Import of public function ($args, $Assoc _ args) {if (! Empty ($args [0]) {$result file = $args [0]} Else {$result _ file = sprintf (lsquo% s.sqlrsquo, db name)} MySQL _ args = array (lsquodatabasersquo = gt db name,) If (
Par la suite, si le fichier nrsquoest pas fourni, la commande devine quel fichier (365) importer. Ici, lrsquoutilisation du premier paramètre args de la méthode est remarquable. Où est la Liste ordonnée des options passées dans la section options du document. Deuxième paramètre de la méthode
Même, mais le nom est entré comme clé, pas comme simple emplacement. La ligne 375 est connue pour utiliser wp u CLI:: Error (). Il srsquoagit drsquoun bon petit emballage (lrsquoun des rares) qui permet à lrsquoutilisateur drsquoêtre informé de ce qui se passe. Mais dans ce cas, cela indique également qursquoune erreur srsquoest produite dans la commande exécutée (ou, pour une méthode réussie, correcte). Pour ce qui est de ces commandes, il est préférable qursquoelles srsquoassurent également que le script envoie le Code de sortie correct pour que drsquoautres commandes CLI puissent comprendre. Echo travaille sur les commandes WP CLI, mais ces méthodes doivent être préférées. Enfin, la ligne 385 nécessite quelques explications: Self:: Run (lsquo usr bin env mysql no Defaults no auto rehashrsquo, $MySQL _ args) Lrsquoexécution est un moyen pratique pour cette classe drsquoinvoquer le shell sous jacent et drsquoexécuter des commandes CLI autres que WP CLI. De même, les fonctions Php comme Shell _ exec peuvent fonctionner, mais il y a beaucoup drsquoavantages à ce qursquoelles fonctionnent ici. Dans self:: Run, verrez qursquoil exécute une commande Basic Bash style appelée MySQL pour réellement demander à la base de données. C’est pourquoi il est utile de comprendre l’ensemble de l’environnement CLI et pas seulement la partie WordPress du WP CLI. (parce que je ne sais pas: lrsquoutilisation de urs bin env avant que la commande appelle MySQL est destinée à normaliser le comportement, sinon il pourrait y avoir des conflits avec les alias Bash des gens, etc. drsquoautres explications sont fournies ici.) Notre connaissance des commandes WP CLI jrsquoaimerais que compreniez maintenant comment les commandes WP CLI fonctionnent à lrsquointerne et que puissiez lire les commandes WP CLI existantes avec plus de confiance et même créer vos propres commandes en comprenant mieux comment fonctionne lrsquoimportation WP DB (où se trouve le document, comment le WP CLI sait, comment les commandes réelles fonctionnent). Bonne chance. Source: Vance Afb
Analyse de la commande WP CLI: importation de la base de données WP