{"id":58845,"date":"2022-08-09T14:05:45","date_gmt":"2022-08-09T13:05:45","guid":{"rendered":"https:\/\/kinsta.com\/it\/?p=58845&#038;preview=true&#038;preview_id=58845"},"modified":"2023-01-31T14:43:52","modified_gmt":"2023-01-31T13:43:52","slug":"strumenti-php-testing","status":"publish","type":"post","link":"https:\/\/kinsta.com\/it\/blog\/strumenti-php-testing\/","title":{"rendered":"10 Strumenti di PHP Testing per i Plugin di WordPress"},"content":{"rendered":"<p>Nessun software \u00e8 privo di bug. Questo \u00e8 un assioma che vale per <a href=\"https:\/\/kinsta.com\/it\/blog\/miglior-linguaggio-di-programmazione\/\">ogni linguaggio di programmazione<\/a> e per ogni applicazione.<\/p>\n<p>Quando questi bug vengono implementati nel vostro sito web in produzione, puoi subire conseguenze negative di varia gravit\u00e0. Ecco alcuni esempi, che vanno dal fastidio al danno economico:<\/p>\n<ul>\n<li>Lieve: Un utente che non riesce a fare clic su un link non funzionante.<\/li>\n<li>Grave: Il pulsante &#8220;Invia&#8221; di un modulo di contatto non funziona e l&#8217;utente se ne accorge solo dopo aver composto il messaggio.<\/li>\n<li>Grave: Un gateway di pagamento non configurato correttamente, che impedisce agli utenti di acquistare i prodotti nel vostro negozio di ecommerce, abbandonando cos\u00ec il sito.<\/li>\n<\/ul>\n\n<p>Nessun singolo strumento \u00e8 sufficiente per gestire tutti gli aspetti del testing di un&#8217;applicazione da tutti i diversi punti di vista possibili. Infatti, oltre a trovare i bug, \u00e8 fondamentale eseguire ulteriori test per convalidare altre funzioni dell&#8217;applicazione, come per esempio:<\/p>\n<ul>\n<li><a href=\"https:\/\/kinsta.com\/it\/blog\/accessibilita-wordpress\/\">Accessibilit\u00e0<\/a> e <a href=\"https:\/\/kinsta.com\/it\/blog\/test-di-usabilita-dei-siti-web\/\">usabilit\u00e0<\/a><\/li>\n<li><a href=\"https:\/\/kinsta.com\/it\/blog\/strumenti-test-prestazioni\/\">Prestazioni accettabili<\/a><\/li>\n<li><a href=\"https:\/\/kinsta.com\/it\/docs\/hosting-wordpress\/wordpress-riferimenti\/domande-frequenti-tecniche\/\">Gestione del traffico e del carico<\/a><\/li>\n<\/ul>\n<p>In questo articolo esamineremo 10 strumenti creati dalla comunit\u00e0 open source che possono contribuire a creare uno stack per testare il <a href=\"https:\/\/kinsta.com\/it\/blog\/cosa-e-php\/\">codice PHP<\/a> nei plugin di WordPress. Alcuni di questi strumenti sono stati progettati specificamente per testare il codice PHP; altri sono stati creati per testare il codice WordPress; altri ancora sono stati creati per gestire alcune funzionalit\u00e0 generiche utili per i test.<\/p>\n<div><\/div><kinsta-auto-toc heading=\"Table of Contents\" exclude=\"last\" list-style=\"arrow\" selector=\"h2\" count-number=\"-1\"><\/kinsta-auto-toc>\n<h2>1. DevKinsta<\/h2>\n<figure id=\"attachment_128442\" aria-describedby=\"caption-attachment-128442\" style=\"width: 1024px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" class=\"size-large wp-image-128442\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2022\/07\/devkinsta-1024x513.png\" alt=\"Schermata con i dettagli di un sito locale in DevKinsta.\" width=\"1024\" height=\"513\"><figcaption id=\"caption-attachment-128442\" class=\"wp-caption-text\">Dettagli per un sito WordPress locale in DevKinsta.<\/figcaption><\/figure>\n<p><a href=\"https:\/\/kinsta.com\/it\/devkinsta\/\">DevKinsta<\/a> \u00e8 una suite di sviluppo locale per siti WordPress. Basta fornire alcuni dettagli di base per installare immediatamente un&#8217;istanza locale di un sito WordPress. Include diversi strumenti di sviluppo utili come una casella di posta elettronica, un gestore di database e un registro per facilitare la risoluzione dei problemi.<\/p>\n<p>DevKinsta \u00e8 normalmente utilizzato da developer e designer per la creazione di temi e plugin WordPress. Ma si pu\u00f2 anche usare come server web locale per eseguire test di integrazione e funzionalit\u00e0. Questo avviene in tandem con uno strumento HTTP che vi aiuta a verificare che il contenuto e gli header delle risposte siano corretti.<\/p>\n<p>Le caratteristiche principali di DevKinsta sono:<\/p>\n<ul>\n<li>\u00c8 facile creare un nuovo ambiente WordPress e cancellarlo quando non \u00e8 pi\u00f9 necessario<\/li>\n<li>Permette di effettuare test su qualsiasi <a href=\"https:\/\/kinsta.com\/it\/blog\/versioni-php\/\">versione supportata di PHP<\/a> e WordPress e su qualsiasi combinazione di esse<\/li>\n<li>Si integra perfettamente con <a href=\"https:\/\/kinsta.com\/it\/mykinsta\/\">MyKinsta<\/a>, dove gli utenti possono <a href=\"https:\/\/kinsta.com\/docs\/devkinsta\/import-an-external-backup\/\">creare un backup esterno dei loro siti<\/a> e dei loro dati<\/li>\n<\/ul>\n<h2>2. PHPUnit<\/h2>\n<figure id=\"attachment_128446\" aria-describedby=\"caption-attachment-128446\" style=\"width: 1024px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" class=\"size-large wp-image-128446\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2022\/07\/phpunit-logo-1024x273.png\" alt=\"Logo di PHPUnit.\" width=\"1024\" height=\"273\"><figcaption id=\"caption-attachment-128446\" class=\"wp-caption-text\">PHPUnit.<\/figcaption><\/figure>\n<p><a href=\"https:\/\/phpunit.de\/\" target=\"_blank\" rel=\"noopener noreferrer\">PHPUnit<\/a> \u00e8 un framework di testing per PHP orientato a chi programma. \u00c8 il framework pi\u00f9 popolare per l&#8217;esecuzione di test unitari nel codice PHP, con l&#8217;obiettivo di validare singole unit\u00e0 di codice sorgente.<\/p>\n<p>I test di PHPUnit consentono di individuare i problemi il prima possibile all&#8217;interno del ciclo di sviluppo, aiutando a garantire che non siano state introdotte regressioni nel codice (cio\u00e8 che le modifiche apportate a una parte del codice non abbiano causato problemi in un altro punto).<\/p>\n<p>Le principali caratteristiche di PHPUnit sono:<\/p>\n<ul>\n<li>Nuove funzionalit\u00e0 di testing<\/li>\n<li>Convalida del codice appena riformulata<\/li>\n<li>Pu\u00f2 essere completamente automatizzato ed eseguito all&#8217;interno del processo di <a href=\"https:\/\/kinsta.com\/it\/blog\/strumenti-devops\/#2-continuous-integration-ci--continuous-delivery-cd\">Integrazione Continua<\/a> di vostra scelta<\/li>\n<li>Debug<\/li>\n<li>Documentazione automatica sull&#8217;uso previsto attraverso l&#8217;invocazione di funzionalit\u00e0 e vincoli<\/li>\n<li>Consente l&#8217;approccio <a href=\"https:\/\/en.wikipedia.org\/wiki\/Test-driven_development\" target=\"_blank\" rel=\"noopener noreferrer\">Test-Driven Development<\/a> (TDD) in cui si creano prima i test e poi le funzionalit\u00e0<\/li>\n<\/ul>\n<h2>3. Brain Monkey<\/h2>\n<figure id=\"attachment_128441\" aria-describedby=\"caption-attachment-128441\" style=\"width: 1024px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" class=\"size-large wp-image-128441\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2022\/07\/brainmonkey-logo-1024x444.png\" alt=\"Logo di Brain Monkey.\" width=\"1024\" height=\"444\"><figcaption id=\"caption-attachment-128441\" class=\"wp-caption-text\">Brain Monkey.<\/figcaption><\/figure>\n<p><a href=\"https:\/\/github.com\/Brain-WP\/BrainMonkey\/\" target=\"_blank\" rel=\"noopener noreferrer\">Brain Monkey<\/a> \u00e8 un&#8217;utility di testing per PHP e WordPress. Fornisce strumenti indipendenti dal framework che vi permettono di ridefinire i metodi PHP e di testare il comportamento di qualsiasi applicazione PHP. Fornisce anche strumenti specifici per testare il codice di WordPress.<\/p>\n<p>Le caratteristiche principali di Brain Monkey sono:<\/p>\n<ul>\n<li>Permette ai test unitari di interagire con librerie esterne non scaricate<\/li>\n<li>Permette di invocare le funzioni di WordPress senza dover caricare l&#8217;ambiente di WordPress<\/li>\n<li>Pu\u00f2 affermare che le funzioni di WordPress (come <code>add_filter<\/code> o <code>do_action<\/code>) invocano le funzionalit\u00e0 come previsto<\/li>\n<\/ul>\n<h2>4. Brain Faker<\/h2>\n<figure id=\"attachment_128440\" aria-describedby=\"caption-attachment-128440\" style=\"width: 1024px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" class=\"size-large wp-image-128440\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2022\/07\/brainfaker-on-github-1024x515.png\" alt=\"Brain Faker su GitHub.\" width=\"1024\" height=\"515\"><figcaption id=\"caption-attachment-128440\" class=\"wp-caption-text\">Brain Faker.<\/figcaption><\/figure>\n<p><a href=\"https:\/\/github.com\/Brain-WP\/BrainFaker\" target=\"_blank\" rel=\"noopener noreferrer\">Brain Faker<\/a> usa <a href=\"https:\/\/github.com\/fzaninotto\/Faker\" target=\"_blank\" rel=\"noopener noreferrer\">Faker<\/a> (una popolare libreria PHP per la generazione di dati falsi) e Brain Monkey per generare facilmente oggetti WordPress falsi e funzioni correlate da testare, tra cui:<\/p>\n<ul>\n<li>Istanze <code>WP_Post<\/code> e mock di funzioni correlate come <code>get_post<\/code> e <code>get_post_field<\/code><\/li>\n<li>Istanze <code>WP_User<\/code> e mock di funzioni correlate come <code>get_userdata<\/code>, <code>get_user_by<\/code>, <code>user_can<\/code> e altre ancora<\/li>\n<li>Istanze <code>WP_Term<\/code> e funzioni mock correlate come <code>get_term<\/code> e <code>get_term_by<\/code><\/li>\n<li>Istanze <code>WP_Comment<\/code><\/li>\n<li>Istanze <code>WP_Site<\/code> e funzioni mock correlate come <code>get_site<\/code><\/li>\n<li>Istanze <code>WP_Post_Type<\/code> e finte funzioni correlate come <code>get_post_type_object<\/code> e <code>post_type_exists<\/code><\/li>\n<li>Istanze <code>WP_Taxonomy<\/code> e le funzioni mock correlate come <code>get_taxonomy<\/code> e <code>taxonomy_exists<\/code><\/li>\n<li>Istanze <code>WP_Error<\/code><\/li>\n<\/ul>\n<p>Le principali caratteristiche di Brain Faker sono:<\/p>\n<ul>\n<li>Inietta dati WordPress falsi ma realistici nel test unitario: l&#8217;accesso alla data di modifica di un post falso si comporter\u00e0 come una data (per esempio <code>2022-04-17T13:06:58+00:00<\/code>), il nome di un utente sar\u00e0 appropriato (per esempio <code>\"John Smith\"<\/code>), un&#8217;istanza di post falso \u00e8 creata da un&#8217;istanza di utente falso e cos\u00ec via<\/li>\n<li>I dati falsi possono essere forniti in anticipo o generati in modo casuale<\/li>\n<li>Estensibile: se vi occupate di sviluppo, potete simulare le classi e le funzioni dei vostri plugin WordPress<\/li>\n<\/ul>\n<h2>5. Mockery<\/h2>\n<figure id=\"attachment_128444\" aria-describedby=\"caption-attachment-128444\" style=\"width: 1024px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" class=\"size-large wp-image-128444\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2022\/07\/mockery-on-github-1024x700.png\" alt=\"Mockery su GitHub.\" width=\"1024\" height=\"700\"><figcaption id=\"caption-attachment-128444\" class=\"wp-caption-text\">Mockery.<\/figcaption><\/figure>\n<p><a href=\"https:\/\/github.com\/mockery\/mockery\" target=\"_blank\" rel=\"noopener noreferrer\">Mockery<\/a> \u00e8 un framework di oggetti mock per PHP semplice ma flessibile, pensato per essere utilizzato insieme a PHPUnit, <a href=\"https:\/\/www.phpspec.net\/en\/stable\/\" target=\"_blank\" rel=\"noopener noreferrer\">PHPSpec<\/a> o qualsiasi altro framework di unit testing. Offre un doppio framework di testing in grado di definire tutte le possibili operazioni e interazioni degli oggetti usando un <a href=\"https:\/\/en.wikipedia.org\/wiki\/Domain-specific_language\" target=\"_blank\" rel=\"noopener noreferrer\">linguaggio specifico del dominio<\/a> (DSL) leggibile dagli esseri umani.<\/p>\n<p>Le principali caratteristiche di Mockery sono:<\/p>\n<ul>\n<li>Permette di generare in modo flessibile oggetti mock e stub (che forniscono risposte predefinite a chiamate specifiche effettuate durante i test)<\/li>\n<li>Migliora le capacit\u00e0 di isolamento dei test di PHPUnit<\/li>\n<li>API flessibile per esprimere le aspettative dei mock, imitando il pi\u00f9 possibile una descrizione in linguaggio naturale (es. <code>$mock-&gt;shouldReceive('myMethod')-&gt;once()-&gt;andReturn('Hello world!');<\/code>)<\/li>\n<li>Test unitari che usano oggetti mock in memoria per evitare di dover accedere a sistemi pi\u00f9 lenti (come database, file system o servizi esterni)<\/li>\n<li>Pu\u00f2 simulare sia comportamenti deterministici che non deterministici<\/li>\n<\/ul>\n<h2>6. Strumento di Esportazione Nativo di WordPress<\/h2>\n<figure id=\"attachment_128447\" aria-describedby=\"caption-attachment-128447\" style=\"width: 1024px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" class=\"size-large wp-image-128447\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2022\/07\/wordpress-export-tool-1024x541.png\" alt=\"Schermata dell\u2019area Strumenti di esportazione nell\u2019editor WordPress.\" width=\"1024\" height=\"541\"><figcaption id=\"caption-attachment-128447\" class=\"wp-caption-text\">Lo strumento di esportazione di WordPress.<\/figcaption><\/figure>\n<p>Lo <a href=\"https:\/\/wordpress.org\/support\/article\/tools-export-screen\/\" target=\"_blank\" rel=\"noopener noreferrer\">strumento di esportazione nativa di WordPress<\/a> scarica i dati di WordPress del sito sul vostro dispositivo sotto forma di file XML, compresi articoli, pagine, tipi di post personalizzati, commenti, campi personalizzati, categorie, tag, tassonomie personalizzate, utenti e media. Il file XML presenta un formato personalizzato (chiamato file WordPress eXtended RSS o WXR) che pu\u00f2 essere importato in qualsiasi sito WordPress.<\/p>\n<p>Questo strumento non \u00e8 stato progettato specificamente per i test. Tuttavia, la sua utilit\u00e0 deriva dalla possibilit\u00e0 di creare istantanee del database di WordPress contenenti un set di dati adeguato, che pu\u00f2 essere usato per i test. Ci\u00f2 significa che il sito WordPress in produzione, che contiene dati reali, pu\u00f2 essere esportato e importato in <a href=\"https:\/\/kinsta.com\/it\/docs\/hosting-wordpress\/ambienti-di-staging\/\">un&#8217;istanza di sviluppo o di staging<\/a> per testare nuove funzionalit\u00e0.<\/p>\n<p>Le principali caratteristiche dello strumento di esportazione di WordPress sono:<\/p>\n<ul>\n<li>Creazione di dati di testing utilizzando un vero sito WordPress<\/li>\n<li>File di esportazione condivisibile dell&#8217;intero database<\/li>\n<li>Utile sia per i test di integrazione che per quelli unitari<\/li>\n<\/ul>\n<h2>7. Guzzle<\/h2>\n<figure id=\"attachment_128443\" aria-describedby=\"caption-attachment-128443\" style=\"width: 1024px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" class=\"size-large wp-image-128443\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2022\/07\/guzzle-logo-1024x277.png\" alt=\"Logo di Guzzle.\" width=\"1024\" height=\"277\"><figcaption id=\"caption-attachment-128443\" class=\"wp-caption-text\">Guzzle.<\/figcaption><\/figure>\n<p><a href=\"https:\/\/docs.guzzlephp.org\/en\/stable\/\" target=\"_blank\" rel=\"noopener noreferrer\">Guzzle<\/a> \u00e8 un client HTTP PHP che semplifica l&#8217;invio di richieste HTTP e l&#8217;integrazione con i servizi web.<\/p>\n<p>Guzzle \u00e8 uno strumento generico, quindi i test sono solo uno dei suoi possibili casi d&#8217;uso. Insieme a un server web locale <a href=\"https:\/\/kinsta.com\/it\/devkinsta\/caratteristiche\/\">come DevKinsta<\/a>, Guzzle permette di eseguire test di integrazione. Potete usare Guzzle per inviare una richiesta HTTP al server web di sviluppo, quindi passare la risposta a un test unitario in PHPUnit che verifichi che il contenuto e gli header siano impostati come previsto.<\/p>\n<p>Le principali caratteristiche di Guzzle sono:<\/p>\n<ul>\n<li>Soddisfa la <a href=\"https:\/\/www.php-fig.org\/psr\/psr-7\/\" target=\"_blank\" rel=\"noopener noreferrer\">raccomandazione standard PHP &#8220;PSR-7&#8221;<\/a> (per le interfacce di messaggi HTTP), evitando il vendor lock-in<\/li>\n<li>\u00c8 semplice e veloce<\/li>\n<li>I test vengono eseguiti su un sito WordPress reale, aumentandone l&#8217;affidabilit\u00e0<\/li>\n<li>Possono essere eseguiti dall&#8217;interno di PHPUnit, per una maggiore facilit\u00e0 e velocit\u00e0 di esecuzione<\/li>\n<li>I test di integrazione possono essere automatizzati e aggiunti al processo di Integrazione Continua<\/li>\n<\/ul>\n<h2>8. WP-CLI<\/h2>\n<figure id=\"attachment_128448\" aria-describedby=\"caption-attachment-128448\" style=\"width: 1024px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" class=\"size-large wp-image-128448\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2022\/07\/wp-cli-logo-1024x451.png\" alt=\"Logo di WP-CLI.\" width=\"1024\" height=\"451\"><figcaption id=\"caption-attachment-128448\" class=\"wp-caption-text\">WP-CLI.<\/figcaption><\/figure>\n<p><a href=\"https:\/\/wp-cli.org\/\" target=\"_blank\" rel=\"noopener noreferrer\">WP-CLI<\/a> \u00e8 l&#8217;interfaccia a riga di comando di WordPress. Con essa potete aggiornare i plugin, configurare installazioni multisito e molto altro ancora, senza usare un <a href=\"https:\/\/kinsta.com\/it\/blog\/browser-piu-sicuri\/\">browser web<\/a>.<\/p>\n<p>WP-CLI non \u00e8 uno strumento specifico per i test, ma i test rientrano tra i suoi numerosi casi d&#8217;uso. Per esempio, dopo aver avviato un nuovo server web di sviluppo, potete eseguire uno script bash contenente i comandi WP-CLI per importare i dati di test nel sito WordPress, creare gli utenti con i ruoli e le capacit\u00e0 appropriate, installare i plugin di terze parti necessari e altre attivit\u00e0 simili.<\/p>\n<p>Poich\u00e9 lo script con i comandi WP-CLI pu\u00f2 essere memorizzato nel vostro <a href=\"https:\/\/kinsta.com\/it\/blog\/git-per-lo-sviluppo-web\/\">repository Git<\/a>, il processo di esecuzione dei test di integrazione pu\u00f2 essere automatizzato e integrato nel vostro processo di Integrazione Continua:<\/p>\n<ol start=\"1\">\n<li>Usa lo strumento di esportazione di WordPress per generare dati di test reali e memorizzarli nel repository Git.<\/li>\n<li>Usa DevKinsta per lanciare un server web con una nuova istanza di WordPress.<\/li>\n<li>Usa WP-CLI per importare i dati di test nel sito WordPress (DevKinsta <a href=\"https:\/\/www.smashingmagazine.com\/2021\/06\/multiple-wordpress-sites-locally-devkinsta\/#using-wp-cli\" target=\"_blank\" rel=\"noopener noreferrer\">pu\u00f2 essere gestito tramite WP-CLI<\/a>).<\/li>\n<li>Crea un test unitario in PHPUnit facendo in modo che Guzzle esegua una richiesta HTTP al server web per verificare il contenuto e gli header della risposta.<\/li>\n<\/ol>\n<p>Le principali caratteristiche di WP-CLI sono:<\/p>\n<ul>\n<li>Permette l&#8217;esecuzione remota di comandi contro l&#8217;istanza di WordPress tramite un&#8217;interfaccia a riga di comando<\/li>\n<li>Estensibile con altri strumenti<\/li>\n<li>Migliora le capacit\u00e0 dello stack di testing<\/li>\n<li>Permette la completa automazione del processo<\/li>\n<\/ul>\n<h2>9. XDebug<\/h2>\n<figure id=\"attachment_128449\" aria-describedby=\"caption-attachment-128449\" style=\"width: 1024px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" class=\"size-large wp-image-128449\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2022\/07\/xdebug-logo-1024x396.png\" alt=\"Logo di XDebug.\" width=\"1024\" height=\"396\"><figcaption id=\"caption-attachment-128449\" class=\"wp-caption-text\">XDebug.<\/figcaption><\/figure>\n<p><a href=\"https:\/\/xdebug.org\/\" target=\"_blank\" rel=\"noopener noreferrer\">XDebug<\/a> \u00e8 un&#8217;estensione per PHP che offre una serie di funzioni per migliorare l&#8217;esperienza di sviluppo di PHP, tra cui il debug, miglioramenti alla segnalazione degli errori di PHP, il tracciamento, il profiling e l&#8217;analisi della copertura del codice.<\/p>\n<p>XDebug non vi aiuter\u00e0 a testare il vostro codice, ma a scoprire piuttosto dove si trova il bug. La combinazione di XDebug con PHPUnit \u00e8 particolarmente efficace. Se un test fallisce e non riuscite a trovare l&#8217;origine del problema, potete usare XDebug per aggiungere dei breakpoint nel codice del test unitario. Quando eseguirete di nuovo il test unitario, lo script PHP verr\u00e0 messo in pausa in corrispondenza di ciascuno di questi punti di interruzione, consentendovi di ispezionare lo stato attuale dell&#8217;esecuzione (stack di chiamate, valori di propriet\u00e0 e oggetti, ecc.) e di cercare di scoprire cosa c&#8217;\u00e8 che non va.<\/p>\n<p>Le principali caratteristiche di XDebug sono:<\/p>\n<ul>\n<li>Integrazione con i pi\u00f9 diffusi <a href=\"https:\/\/kinsta.com\/it\/blog\/editor-php\/\">editor PHP<\/a>, tra cui VS Code, PHPStorm e Sublime<\/li>\n<li>Profila il tempo speso in ogni chiamata di funzione e la quantit\u00e0 di memoria consumata<\/li>\n<li>Molto pi\u00f9 potente del semplice utilizzo di <code>var_dump<\/code> per il debug del codice<\/li>\n<li>Permette di modificare al volo i valori delle variabili quando si mettono in pausa i breakpoint<\/li>\n<\/ul>\n<h2>10. PHPStan<\/h2>\n<figure id=\"attachment_128445\" aria-describedby=\"caption-attachment-128445\" style=\"width: 1024px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" class=\"size-large wp-image-128445\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2022\/07\/phpstan-logo-1024x352.png\" alt=\"Logo di PHPStan.\" width=\"1024\" height=\"352\"><figcaption id=\"caption-attachment-128445\" class=\"wp-caption-text\">PHPStan.<\/figcaption><\/figure>\n<p><a href=\"https:\/\/phpstan.org\/\" target=\"_blank\" rel=\"noopener noreferrer\">PHPStan<\/a> \u00e8 uno strumento di analisi statica per PHP, progettato per trovare bug nel codice ancora prima di scrivere i test.<\/p>\n<p>L&#8217;obiettivo di PHPStan \u00e8 quello di ridurre il numero di test che chi sviluppa deve scrivere. Questo strumento \u00e8 il primo a essere eseguito nello stack di test, catturando preventivamente il maggior numero possibile di bug. Solo i bug che non possono essere dedotti dall&#8217;analisi statica (per esempio quelli con una logica errata) devono essere convalidati tramite i test unitari.<\/p>\n<p>PHPStan funziona analizzando l&#8217;intera base di codice alla ricerca di eventuali discrepanze. Per esempio, il valore di risposta di una funzione che restituisce un float non pu\u00f2 essere assegnato a un parametro di tipo intero. Ogni volta che il codice presenta un&#8217;anomalia di questo tipo, si tratta di un potenziale bug e PHPStan te lo segnala durante la fase di sviluppo, proprio mentre state scrivendo il codice dell&#8217;applicazione.<\/p>\n<p>Le principali caratteristiche di PHPStan sono:<\/p>\n<ul>\n<li>Automazione e integrazione nel processo di integrazione continua esistente<\/li>\n<li>Individua molti bug difficili, come le corrispondenze di tipo<\/li>\n<li>Esamina l&#8217;intera base di codice, trovando bug in porzioni di codice raramente eseguite<\/li>\n<li>\u00c8 organizzato in livelli di complessit\u00e0 crescente per consentire un&#8217;integrazione graduale<\/li>\n<li>Dispone di estensioni per i <a href=\"https:\/\/kinsta.com\/it\/blog\/framework-php\/\">framework e i CMS PHP pi\u00f9 diffusi<\/a>, tra cui Symfony, <a href=\"https:\/\/kinsta.com\/it\/blog\/framework-laravel\/\">Laravel<\/a>, Doctrine, Nette e WordPress<\/li>\n<\/ul>\n<h2>Riepilogo<\/h2>\n<p>Il costo di un bug che passa inosservato nella vostra applicazione in produzione pu\u00f2 essere <a href=\"https:\/\/kinsta.com\/it\/blog\/reputazione-dominio\/\">dannoso per la vostra reputazione<\/a> e le vostre entrate, quindi dovete cercare di eliminarlo prima che colpisca i vostri utenti.<\/p>\n\n<p>Nelle applicazioni complesse \u00e8 quasi impossibile avere la certezza al 100% che non ci siano bug. Per questo motivo, dovete impostare un processo per trovare e rimuovere il maggior numero possibile di bug durante il ciclo di sviluppo iniziale.<\/p>\n<p>Con un toolkit di testing ben progettato, potete ridurre al minimo le possibilit\u00e0 che la vostra applicazione si comporti in modo inaspettato. La comunit\u00e0 open source ha creato e reso disponibili numerosi strumenti per testare i diversi aspetti di un&#8217;applicazione, che potete &#8211; e dovreste! &#8211; usare per realizzare uno stack di test completo.<\/p>\n<p>In questo articolo abbiamo recensito 10 strumenti che vi aiuteranno a raggiungere i vostri obiettivi di test del codice PHP in un <a href=\"https:\/\/kinsta.com\/it\/argomenti\/plugin-wordpress\/\">plugin WordPress<\/a>.<\/p>\n<p>Quale di questi strumenti avete usato per il vostro ultimo progetto? Fateci sapere cosa avete costruito con esso nella sezione commenti qui sotto!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Nessun software \u00e8 privo di bug. Questo \u00e8 un assioma che vale per ogni linguaggio di programmazione e per ogni applicazione. Quando questi bug vengono implementati &#8230;<\/p>\n","protected":false},"author":196,"featured_media":58846,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_kinsta_gated_content":false,"_kinsta_gated_content_redirect":"","footnotes":""},"tags":[19973,41,25984,25610,20871],"topic":[26090,26164,25883],"class_list":["post-58845","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","tag-code","tag-php","tag-testing","tag-web-development-tools","tag-wordpress-plugins","topic-devkinsta","topic-framework-php","topic-strumenti-di-sviluppo-web"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v24.6 (Yoast SEO v24.6) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>10 Strumenti di PHP Testing per i Plugin di WordPress<\/title>\n<meta name=\"description\" content=\"Abbiamo raccolto 10 popolari strumenti di PHP testing open-source che possono aiutarti a creare il tuo stack di testing per i plugin WordPress.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/kinsta.com\/it\/blog\/strumenti-php-testing\/\" \/>\n<meta property=\"og:locale\" content=\"it_IT\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"10 Strumenti di PHP Testing per i Plugin di WordPress\" \/>\n<meta property=\"og:description\" content=\"Abbiamo raccolto 10 popolari strumenti di PHP testing open-source che possono aiutarti a creare il tuo stack di testing per i plugin WordPress.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/kinsta.com\/it\/blog\/strumenti-php-testing\/\" \/>\n<meta property=\"og:site_name\" content=\"Kinsta\u00ae\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/kinstaitalia\/\" \/>\n<meta property=\"article:published_time\" content=\"2022-08-09T13:05:45+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-01-31T13:43:52+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2022\/08\/php-testing-tools.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1460\" \/>\n\t<meta property=\"og:image:height\" content=\"730\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Leonardo Losoviz\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:description\" content=\"Abbiamo raccolto 10 popolari strumenti di PHP testing open-source che possono aiutarti a creare il tuo stack di testing per i plugin WordPress.\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2022\/08\/php-testing-tools.jpg\" \/>\n<meta name=\"twitter:creator\" content=\"@losoviz\" \/>\n<meta name=\"twitter:site\" content=\"@Kinsta_IT\" \/>\n<meta name=\"twitter:label1\" content=\"Scritto da\" \/>\n\t<meta name=\"twitter:data1\" content=\"Leonardo Losoviz\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tempo di lettura stimato\" \/>\n\t<meta name=\"twitter:data2\" content=\"12 minuti\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/kinsta.com\/it\/blog\/strumenti-php-testing\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/kinsta.com\/it\/blog\/strumenti-php-testing\/\"},\"author\":{\"name\":\"Leonardo Losoviz\",\"@id\":\"https:\/\/kinsta.com\/it\/#\/schema\/person\/c382de1885cc21b079ec1e71d7faf238\"},\"headline\":\"10 Strumenti di PHP Testing per i Plugin di WordPress\",\"datePublished\":\"2022-08-09T13:05:45+00:00\",\"dateModified\":\"2023-01-31T13:43:52+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/kinsta.com\/it\/blog\/strumenti-php-testing\/\"},\"wordCount\":2269,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/kinsta.com\/it\/#organization\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/it\/blog\/strumenti-php-testing\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2022\/08\/php-testing-tools.jpg\",\"keywords\":[\"code\",\"php\",\"testing\",\"web development tools\",\"wordpress plugins\"],\"inLanguage\":\"it-IT\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/kinsta.com\/it\/blog\/strumenti-php-testing\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/kinsta.com\/it\/blog\/strumenti-php-testing\/\",\"url\":\"https:\/\/kinsta.com\/it\/blog\/strumenti-php-testing\/\",\"name\":\"10 Strumenti di PHP Testing per i Plugin di WordPress\",\"isPartOf\":{\"@id\":\"https:\/\/kinsta.com\/it\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/kinsta.com\/it\/blog\/strumenti-php-testing\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/it\/blog\/strumenti-php-testing\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2022\/08\/php-testing-tools.jpg\",\"datePublished\":\"2022-08-09T13:05:45+00:00\",\"dateModified\":\"2023-01-31T13:43:52+00:00\",\"description\":\"Abbiamo raccolto 10 popolari strumenti di PHP testing open-source che possono aiutarti a creare il tuo stack di testing per i plugin WordPress.\",\"breadcrumb\":{\"@id\":\"https:\/\/kinsta.com\/it\/blog\/strumenti-php-testing\/#breadcrumb\"},\"inLanguage\":\"it-IT\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/kinsta.com\/it\/blog\/strumenti-php-testing\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\/\/kinsta.com\/it\/blog\/strumenti-php-testing\/#primaryimage\",\"url\":\"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2022\/08\/php-testing-tools.jpg\",\"contentUrl\":\"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2022\/08\/php-testing-tools.jpg\",\"width\":1460,\"height\":730,\"caption\":\"10 Strumenti di PHP Testing per i Plugin di WordPress\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/kinsta.com\/it\/blog\/strumenti-php-testing\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/kinsta.com\/it\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Strumenti di Sviluppo Web\",\"item\":\"https:\/\/kinsta.com\/it\/argomenti\/strumenti-di-sviluppo-web\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"10 Strumenti di PHP Testing per i Plugin di WordPress\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/kinsta.com\/it\/#website\",\"url\":\"https:\/\/kinsta.com\/it\/\",\"name\":\"Kinsta\u00ae\",\"description\":\"Soluzioni di hosting premium, veloci e sicure\",\"publisher\":{\"@id\":\"https:\/\/kinsta.com\/it\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/kinsta.com\/it\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"it-IT\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/kinsta.com\/it\/#organization\",\"name\":\"Kinsta\",\"url\":\"https:\/\/kinsta.com\/it\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\/\/kinsta.com\/it\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2023\/12\/kinsta-logo.jpeg\",\"contentUrl\":\"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2023\/12\/kinsta-logo.jpeg\",\"width\":500,\"height\":500,\"caption\":\"Kinsta\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/it\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/kinstaitalia\/\",\"https:\/\/x.com\/Kinsta_IT\",\"https:\/\/www.instagram.com\/kinstahosting\/\",\"https:\/\/www.linkedin.com\/company\/kinsta\/\",\"https:\/\/www.pinterest.com\/kinstahosting\/\",\"https:\/\/www.youtube.com\/c\/Kinsta\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/kinsta.com\/it\/#\/schema\/person\/c382de1885cc21b079ec1e71d7faf238\",\"name\":\"Leonardo Losoviz\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\/\/kinsta.com\/it\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/b28085726ee66e49f08be16ad668efd5?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/b28085726ee66e49f08be16ad668efd5?s=96&d=mm&r=g\",\"caption\":\"Leonardo Losoviz\"},\"description\":\"Leo writes about innovative web development trends, mostly concerning PHP, WordPress and GraphQL. You can find him at leoloso.com and twitter.com\/losoviz.\",\"sameAs\":[\"https:\/\/leoloso.com\",\"https:\/\/x.com\/losoviz\",\"https:\/\/www.youtube.com\/@GatoGraphQL\"],\"url\":\"https:\/\/kinsta.com\/it\/blog\/author\/leonardolosoviz\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"10 Strumenti di PHP Testing per i Plugin di WordPress","description":"Abbiamo raccolto 10 popolari strumenti di PHP testing open-source che possono aiutarti a creare il tuo stack di testing per i plugin WordPress.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/kinsta.com\/it\/blog\/strumenti-php-testing\/","og_locale":"it_IT","og_type":"article","og_title":"10 Strumenti di PHP Testing per i Plugin di WordPress","og_description":"Abbiamo raccolto 10 popolari strumenti di PHP testing open-source che possono aiutarti a creare il tuo stack di testing per i plugin WordPress.","og_url":"https:\/\/kinsta.com\/it\/blog\/strumenti-php-testing\/","og_site_name":"Kinsta\u00ae","article_publisher":"https:\/\/www.facebook.com\/kinstaitalia\/","article_published_time":"2022-08-09T13:05:45+00:00","article_modified_time":"2023-01-31T13:43:52+00:00","og_image":[{"width":1460,"height":730,"url":"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2022\/08\/php-testing-tools.jpg","type":"image\/jpeg"}],"author":"Leonardo Losoviz","twitter_card":"summary_large_image","twitter_description":"Abbiamo raccolto 10 popolari strumenti di PHP testing open-source che possono aiutarti a creare il tuo stack di testing per i plugin WordPress.","twitter_image":"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2022\/08\/php-testing-tools.jpg","twitter_creator":"@losoviz","twitter_site":"@Kinsta_IT","twitter_misc":{"Scritto da":"Leonardo Losoviz","Tempo di lettura stimato":"12 minuti"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/kinsta.com\/it\/blog\/strumenti-php-testing\/#article","isPartOf":{"@id":"https:\/\/kinsta.com\/it\/blog\/strumenti-php-testing\/"},"author":{"name":"Leonardo Losoviz","@id":"https:\/\/kinsta.com\/it\/#\/schema\/person\/c382de1885cc21b079ec1e71d7faf238"},"headline":"10 Strumenti di PHP Testing per i Plugin di WordPress","datePublished":"2022-08-09T13:05:45+00:00","dateModified":"2023-01-31T13:43:52+00:00","mainEntityOfPage":{"@id":"https:\/\/kinsta.com\/it\/blog\/strumenti-php-testing\/"},"wordCount":2269,"commentCount":0,"publisher":{"@id":"https:\/\/kinsta.com\/it\/#organization"},"image":{"@id":"https:\/\/kinsta.com\/it\/blog\/strumenti-php-testing\/#primaryimage"},"thumbnailUrl":"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2022\/08\/php-testing-tools.jpg","keywords":["code","php","testing","web development tools","wordpress plugins"],"inLanguage":"it-IT","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/kinsta.com\/it\/blog\/strumenti-php-testing\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/kinsta.com\/it\/blog\/strumenti-php-testing\/","url":"https:\/\/kinsta.com\/it\/blog\/strumenti-php-testing\/","name":"10 Strumenti di PHP Testing per i Plugin di WordPress","isPartOf":{"@id":"https:\/\/kinsta.com\/it\/#website"},"primaryImageOfPage":{"@id":"https:\/\/kinsta.com\/it\/blog\/strumenti-php-testing\/#primaryimage"},"image":{"@id":"https:\/\/kinsta.com\/it\/blog\/strumenti-php-testing\/#primaryimage"},"thumbnailUrl":"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2022\/08\/php-testing-tools.jpg","datePublished":"2022-08-09T13:05:45+00:00","dateModified":"2023-01-31T13:43:52+00:00","description":"Abbiamo raccolto 10 popolari strumenti di PHP testing open-source che possono aiutarti a creare il tuo stack di testing per i plugin WordPress.","breadcrumb":{"@id":"https:\/\/kinsta.com\/it\/blog\/strumenti-php-testing\/#breadcrumb"},"inLanguage":"it-IT","potentialAction":[{"@type":"ReadAction","target":["https:\/\/kinsta.com\/it\/blog\/strumenti-php-testing\/"]}]},{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/kinsta.com\/it\/blog\/strumenti-php-testing\/#primaryimage","url":"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2022\/08\/php-testing-tools.jpg","contentUrl":"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2022\/08\/php-testing-tools.jpg","width":1460,"height":730,"caption":"10 Strumenti di PHP Testing per i Plugin di WordPress"},{"@type":"BreadcrumbList","@id":"https:\/\/kinsta.com\/it\/blog\/strumenti-php-testing\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/kinsta.com\/it\/"},{"@type":"ListItem","position":2,"name":"Strumenti di Sviluppo Web","item":"https:\/\/kinsta.com\/it\/argomenti\/strumenti-di-sviluppo-web\/"},{"@type":"ListItem","position":3,"name":"10 Strumenti di PHP Testing per i Plugin di WordPress"}]},{"@type":"WebSite","@id":"https:\/\/kinsta.com\/it\/#website","url":"https:\/\/kinsta.com\/it\/","name":"Kinsta\u00ae","description":"Soluzioni di hosting premium, veloci e sicure","publisher":{"@id":"https:\/\/kinsta.com\/it\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/kinsta.com\/it\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"it-IT"},{"@type":"Organization","@id":"https:\/\/kinsta.com\/it\/#organization","name":"Kinsta","url":"https:\/\/kinsta.com\/it\/","logo":{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/kinsta.com\/it\/#\/schema\/logo\/image\/","url":"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2023\/12\/kinsta-logo.jpeg","contentUrl":"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2023\/12\/kinsta-logo.jpeg","width":500,"height":500,"caption":"Kinsta"},"image":{"@id":"https:\/\/kinsta.com\/it\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/kinstaitalia\/","https:\/\/x.com\/Kinsta_IT","https:\/\/www.instagram.com\/kinstahosting\/","https:\/\/www.linkedin.com\/company\/kinsta\/","https:\/\/www.pinterest.com\/kinstahosting\/","https:\/\/www.youtube.com\/c\/Kinsta"]},{"@type":"Person","@id":"https:\/\/kinsta.com\/it\/#\/schema\/person\/c382de1885cc21b079ec1e71d7faf238","name":"Leonardo Losoviz","image":{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/kinsta.com\/it\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/b28085726ee66e49f08be16ad668efd5?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/b28085726ee66e49f08be16ad668efd5?s=96&d=mm&r=g","caption":"Leonardo Losoviz"},"description":"Leo writes about innovative web development trends, mostly concerning PHP, WordPress and GraphQL. You can find him at leoloso.com and twitter.com\/losoviz.","sameAs":["https:\/\/leoloso.com","https:\/\/x.com\/losoviz","https:\/\/www.youtube.com\/@GatoGraphQL"],"url":"https:\/\/kinsta.com\/it\/blog\/author\/leonardolosoviz\/"}]}},"acf":[],"_links":{"self":[{"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/posts\/58845","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/users\/196"}],"replies":[{"embeddable":true,"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/comments?post=58845"}],"version-history":[{"count":10,"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/posts\/58845\/revisions"}],"predecessor-version":[{"id":59847,"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/posts\/58845\/revisions\/59847"}],"alternate":[{"embeddable":true,"hreflang":"en","title":"English","href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/58845\/translations\/en"},{"embeddable":true,"hreflang":"it","title":"Italian","href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/58845\/translations\/it"},{"embeddable":true,"hreflang":"pt","title":"Portuguese","href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/58845\/translations\/pt"},{"embeddable":true,"hreflang":"fr","title":"French","href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/58845\/translations\/fr"},{"embeddable":true,"hreflang":"de","title":"German","href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/58845\/translations\/de"},{"embeddable":true,"hreflang":"es","title":"Spanish","href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/58845\/translations\/es"},{"embeddable":true,"hreflang":"nl","title":"Dutch","href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/58845\/translations\/nl"},{"embeddable":true,"hreflang":"ja","title":"Japanese","href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/58845\/translations\/jp"},{"href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/58845\/tree"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/media\/58846"}],"wp:attachment":[{"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/media?parent=58845"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/tags?post=58845"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/topic?post=58845"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}