Repo ini berisi stubspress WordPress yang dihasilkan secara otomatis untuk digunakan dengan alat analisis statis.
Tujuan proyek ini adalah:
fixtures.php , dimungkinkan untuk mengesampingkan deklarasi WordPress untuk fungsi, kelas, dan antarmuka. Dengan begitu, mudah untuk memperbaiki docblocks yang salah di WordPress dan menggunakan blok DOC "canggih" yang didukung oleh penganalisa statis (pikirkan bentuk array, jenis alias, tipe pengembalian bersyarat ...)Setiap hari, alur kerja tindakan GitHub memanggil WP.org API untuk menemukan versi WordPress baru.
Jika menemukan versi baru, itu menghasilkan dan menyimpan stub untuk mereka (menggunakan https://github.com/php-stubs/generator) sambil juga memperbarui stub "terbaru".
Penggunaan utama adalah untuk alat analisis statis, misalnya, mazmur:
inpsyde/wp-stubs ) di properti "require-dev" komposer Andapsalm.xml (lihat dokumen)< stubs >
< file name = " vendor/inpsyde/wp-stubs/stubs/latest.php " />
</ stubs > Anda dapat mengganti latest.php dengan versi WP tertentu. Lihat versi yang tersedia di Direktori /stubs .
Catatan : Di folder itu, nomor versi dua digit seperti 5.9 tidak selalu berarti WordPress Versi 5.9 , tetapi yang terbaru dalam seri 5.9.* . Jadi, jika Anda menggunakan Composer untuk meminta WordPress dan memiliki persyaratan seperti 5.9.* , menggunakan file stubs/5.9.php Stubs akan cocok dengan versi yang saat ini diinstal.
Folder "Stubs" berisi stub dari banyak versi sehingga Anda dapat memilih, tetapi juga mungkin untuk memiliki skrip CI yang memuat versi berbeda untuk menguji terhadap stub yang berbeda.
Namun, ukuran paket mungkin menjadi besar, dan jika tidak dikecualikan dari analisis IDE, itu mungkin mempengaruhi kinerja IDE.
Di composer.json Anda, nyatakan repositori seperti ini:
{
"repositories" : [
{
"type" : " composer " ,
"url" : " https://raw.githubusercontent.com/inpsyde/wp-stubs/main " ,
"only" : [
" inpsyde/wp-stubs-versions "
]
}
]
}Catatan untuk pengembang INPSYDE : Organisasi INPSYDE di Private Packagist mencerminkan repositori di atas, jadi untuk repositori pribadi INPSYDE, ini kemungkinan tidak perlu mempertimbangkan packagist pribadi mungkin akan ditambahkan ke
composer.jsonrepo.
"require-dev" komposer Anda misalnya { "require": { "inpsyde/wp-stubs-versions": "dev-latest" } } . (Perhatikan bagaimana nama paket memiliki -versions ditambahkan)psalm.xml (lihat dokumen)< stubs >
< file name = " vendor/inpsyde/wp-stubs-versions/latest.php " />
</ stubs >Menggunakan pendekatan ini, versi terbaru akan menjadi satu -satunya unduhan versi komposer.
Kode yang menghasilkan potongan membutuhkan PHP 8.0+. Namun, ketika mengonsumsi paket, tidak ada persyaratan minimum selain dapat menjalankan WordPress.
Repositori ini adalah perangkat lunak gratis, dan dirilis berdasarkan ketentuan lisensi MIT. Lihat lisensi untuk lisensi lengkap.