«Un’incompatibilità è più semplice da correggere quando emerge prima di arrivare sul negozio.»
Da sapere in breve
- La novità: WooCommerce ha pubblicato
woocommerce/php-stubs, un pacchetto che descrive funzioni e classi delle estensioni perché gli strumenti di analisi possano controllare il codice che le usa. - Prima: quando l’estensione collegata non era disponibile nell’ambiente di analisi, alcune chiamate potevano essere ignorate o escluse dal controllo.
- Adesso: chi sviluppa può indicare anche la versione minima supportata e far controllare a PHPStan le integrazioni senza installare ogni estensione.
- Disponibilità: il pacchetto è pubblico su GitHub e Packagist; al controllo del 4 novembre 2026 Packagist mostrava la versione v2026.11.03.3. È gratuito e distribuito con licenza GPL-3.0-or-later.
- Prerequisiti: un progetto gestito con Composer e uno strumento di analisi statica come PHPStan; il pacchetto non si installa dal pannello WooCommerce.
- Limite: il controllo riguarda il codice e non sostituisce prove in staging di checkout, pagamenti, ordini e interfaccia. Le estensioni di terzi nel Marketplace compaiono soltanto se il produttore aderisce.
- Se sei un cliente Redomino, ci pensiamo noi.
Possiamo integrare il controllo nel processo di sviluppo e affiancarlo alle prove sul negozio, senza intervenire direttamente sul sito operativo.
Cosa cambia per chi sviluppa e gestisce WooCommerce?
Per chi sviluppa plugin, temi o integrazioni: prima una chiamata verso un’estensione assente poteva restare fuori dall’analisi. Adesso il suo stub può rendere visibili classi, metodi e costanti allo strumento di controllo.
Per chi gestisce il progetto: il controllo può essere eseguito contro la versione minima dichiarata, riducendo il rischio di usare per errore una funzione disponibile soltanto nelle release più recenti.
Per chi vende online: non appare una nuova funzione nel pannello WooCommerce. Il vantaggio possibile è un processo di sviluppo più capace di intercettare alcuni errori prima della prova sul sito.
Esempio semplice: un’integrazione dichiara di funzionare con WooCommerce Bookings 3.10.0. Se il codice chiama un metodo introdotto dopo quella versione, l’analisi può segnalarlo prima che il pacchetto venga consegnato per il test.
Decisione utile: adottare gli stub nei progetti personalizzati, mantenendo staging e verifiche funzionali come passaggi distinti e obbligatori.
Che cosa sono i PHP stubs di WooCommerce
Uno stub è una descrizione del codice: elenca funzioni, classi, interfacce, metodi e costanti, ma non contiene l’implementazione che esegue il lavoro. Serve a strumenti come PHPStan per capire quali chiamate sono disponibili e con quali parametri.
WooCommerce genera queste descrizioni dalle release delle estensioni. Il pacchetto comprende plugin Woo del Marketplace e di WordPress.org, estensioni di terzi che aderiscono e un supplemento per parti interne di WooCommerce. Le nuove release vengono elaborate automaticamente: entro un’ora per i plugin a pagamento e ogni giorno per quelli gratuiti.
Perché controllare la versione minima supportata

Controllare soltanto l’ultima versione può dare una falsa sicurezza: il codice potrebbe usare un metodo recente pur dichiarando compatibilità con una versione precedente. Il pacchetto conserva il primo rilascio delle dieci versioni minori più recenti, nella forma x.y.0, oltre alla release più nuova. Se non esiste una soglia dichiarata, latest.neon indica la release corrente.
Il controllo verifica una promessa tecnica precisa, ma database, configurazione, tema, gateway di pagamento e browser restano fuori dallo stub.
Come si usa il pacchetto in un progetto
Il pacchetto è destinato all’ambiente di sviluppo. La guida ufficiale lo installa con Composer insieme agli stub del nucleo WooCommerce:
composer require --dev woocommerce/php-stubs:dev-trunk php-stubs/woocommerce-stubs
Nel file di configurazione di PHPStan si includono poi le estensioni utilizzate. L’esempio ufficiale mostra WooCommerce Bookings fissato alla versione 3.10.0, WooCommerce Subscriptions collegato alla release più recente e il supplemento per le parti interne di WooCommerce.
Se il codice controlla la versione di un plugin, la relativa costante di versione va aggiunta a dynamicConstantNames di PHPStan. In caso contrario, il valore presente nello stub può far apparire costante un controllo basato su version_compare().
Gli stub sono file PHP leggibili anche da Phan, Psalm e dagli ambienti di sviluppo. Sono una dipendenza di sviluppo, non un plugin da caricare nel negozio.
Disponibilità, copertura e limiti reali
Il progetto è pubblico, senza limiti dichiarati per Paese, lingua o piano; la documentazione è in inglese. Packagist mostrava v2026.11.03.3, pubblicata il 3 novembre 2026 alle 15:53 UTC.
La copertura non include tutte le estensioni. I produttori terzi del Marketplace devono aggiungere Woo Stubs: public; se lo rimuovono, le versioni già pubblicate restano nella cronologia ma non si aggiornano. Per altri plugin gratuiti WooCommerce invita ad aprire una richiesta motivata.
Che cosa cambia nel lavoro su un negozio
L’analisi statica può segnalare chiamate inesistenti, firme incompatibili o versioni sbagliate. Non garantisce però la compatibilità: WooCommerce continua a richiedere backup, staging e prove con tema ed estensioni reali.
Per Redomino i due livelli restano insieme: analisi del codice e test funzionale prima della pubblicazione. È il metodo adottato nelle integrazioni API per WordPress e WooCommerce e nella manutenzione dei siti WordPress.
Domande frequenti sui PHP stubs di WooCommerce
Il pacchetto woocommerce/php-stubs si installa sul negozio WooCommerce?
No. woocommerce/php-stubs è una dipendenza di sviluppo da usare con Composer e con strumenti di analisi; non è una funzione da attivare nel pannello del negozio.
I PHP stubs di WooCommerce sostituiscono i test di compatibilità tra plugin?
No. I PHP stubs di WooCommerce aiutano a controllare il codice, ma non riproducono configurazione, dati, interfaccia, pagamenti o processi reali. Staging e test funzionali restano necessari.
I PHP stubs di WooCommerce comprendono tutte le estensioni del Marketplace?
No. Sono incluse le estensioni Woo indicate dalla fonte; i produttori terzi del Marketplace devono aderire aggiungendo l’intestazione prevista nella loro release.
Con quale versione di un’estensione WooCommerce va eseguita l’analisi statica?
La guida di woocommerce/php-stubs consiglia di fissare la prima release della versione minima supportata, per esempio 3.10.0. Se non è dichiarato un minimo, si può usare latest.neon.
Fonti primarie
- WooCommerce Developer Blog — Automated PHP stubs for Woo extensions, 3 novembre 2026.
- WooCommerce — repository ufficiale woocommerce/php-stubs, consultato il 4 novembre 2026.
- Packagist — woocommerce/php-stubs, versioni e istruzioni, consultato il 4 novembre 2026.
- WooCommerce — How to test for plugin and theme conflicts, consultato il 4 novembre 2026.
Vuoi capire se un’integrazione WooCommerce può essere controllata prima di arrivare sul sito operativo? Concediti un Momento Redomino: partiamo dalle estensioni e dalle versioni realmente usate nel progetto.
