Este repositorio contiene talones de WordPress generados automáticamente que se utilizarán con herramientas de análisis estático.
El propósito de este proyecto es:
fixtures.php , es posible anular la declaración de WordPress para funciones, clases e interfaces. De esa manera, es fácil corregir los docblocks incorrectos en WordPress y usar el bloque DOC "avanzado" compatible con los analizadores estáticos (piense en la forma de matriz, los alias de tipo, los tipos de retorno condicional ...)Todos los días, un flujo de trabajo de GitHub Actions llama a la API WP.org para encontrar nuevas versiones de WordPress.
Si encuentra nuevas versiones, genera y los guarda a stubs (usando https://github.com/php-stubs/generator), al tiempo que actualiza el trozo "último".
El uso principal es para herramientas de análisis estático, por ejemplo, Salmo:
inpsyde/wp-stubs ) en la propiedad "require-dev" de su compositorpsalm.xml (ver documentos)< stubs >
< file name = " vendor/inpsyde/wp-stubs/stubs/latest.php " />
</ stubs > Puede reemplazar latest.php con una versión WP específica. Vea las versiones disponibles en el directorio /stubs .
Nota : En esa carpeta, un número de versión de dos dígitos como 5.9 no significa necesariamente WordPress versión 5.9 , sino lo último en la serie 5.9.* . Entonces, si usa el compositor para requerir WordPress y tiene un requisito como 5.9.* , Uso del archivo stubs/5.9.php Stubs coincidirá con la versión actualmente instalada.
La carpeta "Stubs" contiene trozos de muchas versiones para que pueda elegir, pero también sería posible tener un script CI que cargue diferentes versiones para probar con diferentes trozos.
Sin embargo, el tamaño del paquete puede ser enorme, y si no se excluye del análisis de IDE, podría afectar el rendimiento de IDE.
En su composer.json , declare un repositorio como este:
{
"repositories" : [
{
"type" : " composer " ,
"url" : " https://raw.githubusercontent.com/inpsyde/wp-stubs/main " ,
"only" : [
" inpsyde/wp-stubs-versions "
]
}
]
}Nota para los desarrolladores de INPSYDE : La organización Inpsyde en Packagist privada refleja el repositorio anterior, por lo que para los repositorios privados de Inpsyde, esto probablemente no sea necesario tener en cuenta que probablemente ya se agregará al
composer.jsondel repositorio.
"require-dev" de su compositor, por ejemplo { "require": { "inpsyde/wp-stubs-versions": "dev-latest" } } . -versions Tenga en cuenta cómo se ha agregado el nombre del paquete)psalm.xml (ver documentos)< stubs >
< file name = " vendor/inpsyde/wp-stubs-versions/latest.php " />
</ stubs >Usando este enfoque, la última versión será la única versión de descargas del compositor.
El código que genera los stubs requiere PHP 8.0+. Sin embargo, al consumir el paquete, no hay requisitos mínimos además de poder ejecutar WordPress.
Este repositorio es un software gratuito y se lanza bajo los términos de la licencia MIT. Vea la licencia para la licencia completa.