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

20

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 précis, 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 d'un plugin.
  2. Analyser toutes les instanciations de classe et les appels de fonction en utilisant la syntaxe new foo( [...] ) , foo::bar( [...] ) , bar( [...] ) , call_user_func( [...] ) , etc.
  3. Analyser le source WP pour déterminer le moment où 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?

    
posée Ian Dunn 22.04.2012 - 07:05

4 réponses

12

Je viens de trouver une solution sous forme de service automatisé à l'adresse enlace

.

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.

    
réponse donnée carstenbach 04.04.2013 - 00:36
3

Mettre à jour: ceci n’est plus exact. Consultez la réponse de carstenbach .

Eh bien, il semble que la réponse soit "Non, il n’existe pas de solution pour cela."

Si quelqu'un souhaite en écrire un, il 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 envisage d'ajouter il.

    
réponse donnée Ian Dunn 14.07.2012 - 19:46
2

Bien, c’est plutôt un point de départ, mais il y a cette belle liste de fonctions WP et leurs versions ajoutées / supprimées here . Malheureusement, cela ne concerne que WP 3.0.1, mais si vous visez 3.0 comme base, 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. Si l'un de nous deux en a la bonne idée, quelqu'un peut créer un plug-in à vérifier (comme un reverse deprecation-checker / "> vérificateur de dépréciation ).

ETA: Per @mrwweb - Liste des hameçons 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).

    
réponse donnée SickHippie 07.05.2012 - 18:59
0

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 journiez soit 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. Une bonne connaissance de la base de code et une vérification manuelle pourraient être la solution.

    
réponse donnée Chris Cox 07.05.2012 - 17:57

Lire d'autres questions sur les étiquettes