Ce repo contient des talons WordPress générés automatiquement à utiliser avec des outils d'analyse statique.
Le but de ce projet est:
fixtures.php , il est possible de remplacer la déclaration WordPress pour les fonctions, les classes et les interfaces. De cette façon, il est facile de réparer les docblocks incorrects dans WordPress et d'utiliser un bloc de doc "avancé" pris en charge par des analyseurs statiques (pensez à la forme du tableau, aux alias types, types de retour conditionnel…)Chaque jour, un flux de travail GitHub Actions appelle l'API WP.org pour trouver de nouvelles versions WordPress.
S'il trouve de nouvelles versions, il génère et enregistre des talons pour eux (en utilisant https://github.com/php-stubs/generator) tout en mettant à jour le "dernier" stub.
L'utilisation principale concerne les outils d'analyse statique, par exemple, le Psaume:
inpsyde/wp-stubs ) dans la propriété "require-dev" de votre compositeurpsalm.xml (voir DOCS)< stubs >
< file name = " vendor/inpsyde/wp-stubs/stubs/latest.php " />
</ stubs > Vous pouvez remplacer latest.php par une version WP spécifique. Voir les versions disponibles dans le répertoire /stubs .
Remarque : Dans ce dossier, un numéro de version à deux chiffres comme 5.9 ne signifie pas nécessairement WordPress version 5.9 , mais le dernier de la série 5.9.* . Donc, si vous utilisez Composer pour exiger WordPress et avoir une exigence comme 5.9.* , L'utilisation du fichier stubs/5.9.php Stubs correspondra à la version actuellement installée.
Le dossier "Stubs" contient des talons de nombreuses versions afin que vous puissiez choisir, mais il serait également possible d'avoir un script CI qui charge différentes versions pour tester contre différents talons.
Cependant, la taille du package peut devenir énorme et, si elle n'est pas exclue de l'analyse d'IDE, elle pourrait affecter les performances IDE.
Dans votre composer.json , déclarez un référentiel comme celui-ci:
{
"repositories" : [
{
"type" : " composer " ,
"url" : " https://raw.githubusercontent.com/inpsyde/wp-stubs/main " ,
"only" : [
" inpsyde/wp-stubs-versions "
]
}
]
}Remarque pour les développeurs Inpsyde : l'organisation Inpsyde dans Private Packagist reflète le référentiel ci-dessus, donc pour les référentiels privés d'Insyde, il n'est probablement pas nécessaire de considérer le packagiste privé sera probablement déjà ajouté au
composer.jsonde Repo.json.
"require-dev" de votre compositeur, par exemple { "require": { "inpsyde/wp-stubs-versions": "dev-latest" } } . (Remarque comment le nom du package a -versions annexées)psalm.xml (voir DOCS)< stubs >
< file name = " vendor/inpsyde/wp-stubs-versions/latest.php " />
</ stubs >En utilisant cette approche, la dernière version sera la seule version des téléchargements de compositeurs.
Le code qui génère les talons nécessite PHP 8.0+. Cependant, lors de la consommation du package, il n'y a pas d'exigences minimales en plus de pouvoir exécuter WordPress.
Ce référentiel est un logiciel gratuit et est publié en vertu des termes de la licence MIT. Voir la licence pour une licence complète.