Этот репо содержит автоматические сгенерированные заглушки WordPress, которые будут использоваться со статическими инструментами анализа.
Цель этого проекта:
fixtures.php , можно переопределить объявление WordPress для функций, классов и интерфейсов. Таким образом, легко исправить неверные документы в WordPress и использовать «продвинутый» блок DOC, поддерживаемый статическими анализаторами (подумайте о форме массива, псевдонимах типов, условные типы возврата…)Каждый день рабочий процесс действий GitHub называет API wp.org, чтобы найти новые версии WordPress.
Если он находит новые версии, он генерирует и сохраняет заглушки для них (используя https://github.com/php-stubs/generator), а также обновляет «Последний» заглушка.
Основное использование предназначено для инструментов статического анализа, например, Псалом:
inpsyde/wp-stubs ) в свойстве вашего композитора "require-dev"psalm.xml (см. DOCS)< stubs >
< file name = " vendor/inpsyde/wp-stubs/stubs/latest.php " />
</ stubs > Вы можете заменить latest.php определенной версией WP. См. Доступные версии в каталоге /stubs .
ПРИМЕЧАНИЕ . В этой папке двухзначный номер версии, такой как 5.9 , не обязательно означает версию WordPress 5.9 , но последний в серии 5.9.* . Таким образом, если вы используете композитор, чтобы потребовать WordPress и иметь требование, например, 5.9.* , С помощью файла stubs/5.9.php Stubs соответствует установленной в настоящее время версии.
Папка «Стубы» содержит заглушки многих версий, так что вы можете выбрать, но также можно было бы иметь сценарий CI, который загружает разные версии для тестирования на разные заглушки.
Тем не менее, размер упаковки может стать огромным, и, если не исключить из анализа IDE, это может повлиять на производительность IDE.
В вашем composer.json объявите подобное хранилищу:
{
"repositories" : [
{
"type" : " composer " ,
"url" : " https://raw.githubusercontent.com/inpsyde/wp-stubs/main " ,
"only" : [
" inpsyde/wp-stubs-versions "
]
}
]
}Примечание для разработчиков Inpsyde : организация Inpsyde в частном пакете отражает вышеуказанный репозиторий, поэтому для частных репозиториев Inpsyde это, вероятно, не требуется, учитывая, что частный пакгист, вероятно, уже будет добавлен в
composer.json.
"require-dev" например { "require": { "inpsyde/wp-stubs-versions": "dev-latest" } } . (Обратите внимание, как прилагается имя пакета -versions )psalm.xml (см. DOCS)< stubs >
< file name = " vendor/inpsyde/wp-stubs-versions/latest.php " />
</ stubs >Используя этот подход, последняя версия будет единственной загрузкой композитора версии.
Код, который генерирует заглушки, требует PHP 8.0+. Однако при употреблении пакета нет минимальных требований, кроме возможности запускать WordPress.
Этот репозиторий является бесплатным программным обеспечением и выпускается в соответствии с условиями лицензии MIT. См. Лицензию для полной лицензии.