Este repo contém stubs do WordPress gerado automaticamente para serem usados com ferramentas de análise estática.
O objetivo deste projeto é:
fixtures.php , é possível substituir a declaração do WordPress para funções, classes e interfaces. Dessa forma, é fácil corrigir docblocks incorretos no WordPress e usar o bloco DOC "Avançado" suportado por analisadores estáticos (pense na forma da matriz, aliases de tipo, tipos de retorno condicional ...)Todos os dias, um fluxo de trabalho de ações do GitHub chama a API WP.org para encontrar novas versões do WordPress.
Se encontrar novas versões, gera e salva stubs para elas (usando https://github.com/php-stubs/generator) enquanto também atualiza o stub "mais recente".
O uso primário é para ferramentas de análise estática, por exemplo, Salmo:
inpsyde/wp-stubs ) na propriedade "require-dev" do seu compositorpsalm.xml (consulte Docs)< stubs >
< file name = " vendor/inpsyde/wp-stubs/stubs/latest.php " />
</ stubs > Você pode substituir latest.php por uma versão WP específica. Veja as versões disponíveis no diretório /stubs .
Nota : Nessa pasta, um número de versão de dois dígitos como 5.9 não significa necessariamente o WordPress versão 5.9 , mas o mais recente da série 5.9.* . Portanto, se você usar stubs/5.9.php Composer para exigir o WordPress e ter um requisito como 5.9.*
A pasta "Stubs" contém stubs de muitas versões para que você possa escolher, mas também seria possível ter um script de IC que carregue versões diferentes para testar contra diferentes stubs.
No entanto, o tamanho do pacote pode ficar enorme e, se não for excluído da análise da IDE, pode afetar o desempenho do IDE.
Em seu composer.json , declare um repositório como este:
{
"repositories" : [
{
"type" : " composer " ,
"url" : " https://raw.githubusercontent.com/inpsyde/wp-stubs/main " ,
"only" : [
" inpsyde/wp-stubs-versions "
]
}
]
}NOTA PARA DEVENVERSOS INPSYDE : A organização InPsyde em Packagist Private reflete o repositório acima; portanto, para os repositórios privados da InPsyde, isso provavelmente não é necessário, considerando que o Packagist privado provavelmente já será adicionado ao
composer.jsondo repo.
"require-dev" do seu compositor, por exemplo { "require": { "inpsyde/wp-stubs-versions": "dev-latest" } } . (Observe como o nome do pacote tem -versions anexadas)psalm.xml (consulte Docs)< stubs >
< file name = " vendor/inpsyde/wp-stubs-versions/latest.php " />
</ stubs >Usando essa abordagem, a versão mais recente será o único downloads de compositores de versão.
O código que gera os stubs requer php 8.0+. No entanto, ao consumir o pacote, não há requisitos mínimos além de poder executar o WordPress.
Este repositório é um software livre e é lançado nos termos da licença do MIT. Consulte a licença para obter licença completa.