web-dev-qa-db-fra.com

Déterminer automatiquement la version minimale de WordPress requise pour un plugin?

Lors du développement d'un plugin, existe-t-il un moyen de déterminer automatiquement la version minimale de WordPress requise pour l'exécuter? Je veux m'assurer que l'en-tête Requires est exact, mais vérifier manuellement chaque fois que j'appelle une nouvelle fonction principale est fastidieux et source d'erreurs.

Je pense qu'un script pourrait le comprendre assez facilement:

  1. Analyser tous les fichiers dans un plugin.
  2. Analyser toutes les instanciations de classe et les appels de fonction en fonction de la syntaxe new foo( [...] ), foo::bar( [...] ), bar( [...] ), call_user_func( [...] ), etc.
  3. Analysez la source WP pour déterminer à quel moment chacune de ces classes/fonctions a été ajoutée à WordPress, à l'aide de la balise @since phpDoc.
  4. Générez un rapport répertoriant chaque classe/fonction et la version à laquelle il a été ajouté, ainsi que la version la plus ancienne de WordPress incluant toutes les classes/fonctions.

J'ai regardé autour de moi mais je n'ai rien trouvé de tel et je n'ai pas le temps de l'écrire moi-même. Est-ce que quelqu'un connaît une solution existante?

22
Ian Dunn

Je viens de trouver une solution sous forme de service automatisé sur http://de.wpseek.com/pluginfilecheck/

C'est exactement ce qui a été demandé, y compris la génération de la liste des fonctions utilisées et une suggestion pour les commentaires de l'en-tête du plug-in.

13
carstenbach

Mise à jour: Ceci n'est plus exact. Voir réponse de carstenbach .


Eh bien, il semble que la réponse soit "Non, il n'y a pas de solution existante pour cela."

Si quelqu'un veut en écrire un, ceci peut être utile:

Je pense que le commentaire de Mark sur la création de cette fonctionnalité dans le référentiel WordPress.org est une très bonne idée, mais la communauté doit peut-être créer en premier pour prouver son utilité, avant que l'équipe principale n'envisage de l'ajouter.

3
Ian Dunn

Bien, c’est plutôt un point de départ, mais il existe cette belle liste de WP fonctions et de leurs versions ajoutées/supprimées ici . Malheureusement, il ne monte que jusqu’à WP 3.0.1, mais si vous utilisez la version 3.0 comme référence, cela vous aidera au moins. Si ce n’est pas dans la liste, il sera ajouté plus tard. Vous voudrez peut-être envoyer un e-mail à Ozh pour lui demander de mettre à jour la liste, et si l'un de nous deux en a la bonne idée, quelqu'un peut créer un plug-in à vérifier (comme un correcteur inverse deprecation ).

ETA: Per @mrwweb - Liste d'accrochage d'Adam Brown ! Actuel à 3.3 et va waaaaay à 1.2.1, qui plus personne ne serait en train de courir (date de sortie 6 octobre 2004).

2
SickHippie

Je pense que la réponse réside dans les avis obsolètes - vous devriez développer avec WP_DEBUG true - que vous les affichiez ou les enregistriez comme votre appel, mais WP vous avertira si vous utilisez une fonction obsolète.

Il serait possible d'analyser @since comme vous le dites, mais les outils ne peuvent vous mener jusqu'à présent - la connaissance du code et du contrôle manuel peut être la solution.

0
Chris Cox