{"id":45138,"date":"2022-08-18T12:07:53","date_gmt":"2022-08-18T10:07:53","guid":{"rendered":"https:\/\/kinsta.com\/nl\/?p=45138&#038;preview=true&#038;preview_id=45138"},"modified":"2023-05-22T12:14:52","modified_gmt":"2023-05-22T10:14:52","slug":"php-testtools","status":"publish","type":"post","link":"https:\/\/kinsta.com\/nl\/blog\/php-testtools\/","title":{"rendered":"10 PHP testtools voor WordPress plugins"},"content":{"rendered":"<p>Geen enkele software is vrij van bugs. Dit is een principe dat voor <a href=\"https:\/\/kinsta.com\/nl\/blog\/beste-programmeertaal-om-te-leren\/\">elke programmeertaal<\/a> en elke applicatie geldt.<\/p>\n<p>Wanneer deze bugs op je productiesite terechtkomen, kun je hiervan nadelige gevolgen ondervinden &#8211; in verschillende gradaties van ernst. Dit zijn enkele voorbeelden, vari\u00ebrend van vervelend tot economisch schadelijk:<\/p>\n<ul>\n<li>Mild: Een gebruiker kan niet op een dode link klikken.<\/li>\n<li>Ernstig: De &#8220;Verzenden&#8221; knop van een contactformulier werkt niet, wat de gebruiker pas ontdekt nadat hij zijn bericht heeft geschreven.<\/li>\n<li>Ernstig: Een betalingsgateway die niet correct geconfigureerd is, waardoor gebruikers geen producten in je e-commercewinkel kunnen kopen en de site verlaten.<\/li>\n<\/ul>\n\n<p>Geen enkele tool is voldoende om alle aspecten van het testen van een applicatie vanuit alle mogelijke invalshoeken aan te kunnen. Naast het opsporen van bugs is het van vitaal belang om extra tests uit te voeren om andere features van de applicatie te testen, zoals:<\/p>\n<ul>\n<li><a href=\"https:\/\/kinsta.com\/blog\/wordpress-accessibility\/\">Toegankelijkheid<\/a> en <a href=\"https:\/\/kinsta.com\/blog\/website-usability-testing\/\">bruikbaarheid<\/a><\/li>\n<li><a href=\"https:\/\/kinsta.com\/nl\/blog\/tools-testen-performance\/\">Aanvaardbare prestaties<\/a><\/li>\n<li><a href=\"https:\/\/kinsta.com\/nl\/docs\/wordpress-hosting\/wordpress-referentie\/technische-faq\/\">Verwerking verkeer en (piek)belasting<\/a><\/li>\n<\/ul>\n<p>In dit artikel bespreken we 10 door de open-source community gemaakte tools die kunnen helpen een stack te vormen voor het testen van <a href=\"https:\/\/kinsta.com\/nl\/blog\/wat-is-php\/\">PHP code<\/a> in WordPress plugins. Sommige van deze tools zijn speciaal ontworpen voor het testen van PHP code; anderen zijn bedoeld voor het testen van WordPress code; en nog een paar andere tools zijn gemaakt om algemene features te handlen die nuttig zijn bij het testen.<\/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=\"wp-image-128442 size-large\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2022\/07\/devkinsta-1024x513.png\" alt=\"Gegevens van een lokale WordPress site in DevKinsta.\" width=\"1024\" height=\"513\"><figcaption id=\"caption-attachment-128442\" class=\"wp-caption-text\">Gegevens van een lokale WordPress site in DevKinsta.<\/figcaption><\/figure>\n<p><a href=\"https:\/\/kinsta.com\/nl\/devkinsta\/\">DevKinsta<\/a> is een lokaal ontwikkelingspakket voor WordPress sites. Door een paar basisgegevens op te geven wordt meteen een lokale instantie van een WordPress site ge\u00efnstalleerd en het wordt gebundeld met verschillende handige ontwikkeltools zoals een e-mailinbox, databasemanager, en logboekregistratie om makkelijker problemen op te lossen.<\/p>\n<p>DevKinsta wordt gewoonlijk gebruikt door ontwikkelaars en ontwerpers bij het maken van hun WordPress thema&#8217;s en plugins. Maar het kan ook worden gebruikt als een lokale webserver voor het uitvoeren van integratie- en functionaliteitstesten. Dit gebeurt in combinatie met een HTTP tool die je helpt te controleren of je responscontent en headers juist zijn.<\/p>\n<p>DevKinsta&#8217;s belangrijkste features zijn:<\/p>\n<ul>\n<li>Makkelijk om een nieuwe WordPress omgeving op te zetten en te verwijderen als hij niet meer nodig is<\/li>\n<li>Maakt testen mogelijk met elke <a href=\"https:\/\/kinsta.com\/nl\/blog\/php-versies\/\">ondersteunde versie van PHP<\/a> en WordPress, en elke combinatie daarvan<\/li>\n<li>Integreert naadloos met <a href=\"https:\/\/kinsta.com\/nl\/mykinsta\/\">MyKinsta<\/a> waar gebruikers <a href=\"https:\/\/kinsta.com\/docs\/devkinsta\/import-an-external-backup\/\">een externe backup van hun sites<\/a> en gegevens kunnen maken<\/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=\"PHPUnit logo.\" width=\"1024\" height=\"273\"><figcaption id=\"caption-attachment-128446\" class=\"wp-caption-text\">PHPUnit logo.<\/figcaption><\/figure>\n<p><a href=\"https:\/\/phpunit.de\/\" target=\"_blank\" rel=\"noopener noreferrer\">PHPUnit<\/a> is een op programmeurs gericht testframework voor PHP. Het is het populairste framework voor het uitvoeren van unittests in PHP code, met als doel afzonderlijke eenheden van sourcecode te valideren.<\/p>\n<p>Met PHPUnit tests kunnen ontwikkelaars zo vroeg mogelijk in de ontwikkelingscyclus problemen opsporen, en er zo voor helpen zorgen dat er geen coderegressies zijn ingevoerd (d.w.z. dat veranderingen aan een bepaald stukje code niet ergens anders problemen hebben veroorzaakt).<\/p>\n<p>De belangrijkste features\u00a0van PHPUnit zijn:<\/p>\n<ul>\n<li>Testen van nieuwe features<\/li>\n<li>Nieuw geherstructureerde codevalidatie<\/li>\n<li>Kan volledig geautomatiseerd worden uitgevoerd binnen het <a href=\"https:\/\/kinsta.com\/nl\/blog\/devops-tools\/#2-continuous-integration-ci--continuous-delivery-cd\">Continuous Integration<\/a> proces naar keuze<\/li>\n<li>Debuggen<\/li>\n<li>Automatische documentatie over het verwachte gebruik door middel van functionaliteit invocation en constraints<\/li>\n<li>Maakt de <a href=\"https:\/\/en.wikipedia.org\/wiki\/Test-driven_development\" target=\"_blank\" rel=\"noopener noreferrer\">Test-Driven Development<\/a> (TDD) aanpak mogelijk waarbij ontwikkelaars eerst tests maken, dan pas functionaliteit<\/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=\"Brain Monkey logo.\" width=\"1024\" height=\"444\"><figcaption id=\"caption-attachment-128441\" class=\"wp-caption-text\">Brain Monkey logo.<\/figcaption><\/figure>\n<p><a href=\"https:\/\/github.com\/Brain-WP\/BrainMonkey\/\" target=\"_blank\" rel=\"noopener noreferrer\">Brain Monkey<\/a> is een testprogramma voor PHP en WordPress. Het biedt framework-agnostische tools waarmee je PHP methoden kunt herdefini\u00ebren en het gedrag van elke PHP applicatie kunt testen. Het biedt ook tools specifiek voor het testen van WordPress code.<\/p>\n<p>De belangrijkste features van Brain Monkey zijn:<\/p>\n<ul>\n<li>Binnen deze tool is interactie mogelijk tussen unittests en externe, unloaded libraries<\/li>\n<li>Staat invocation van WordPress functies toe zonder dat de WordPress omgeving geladen hoeft te worden<\/li>\n<li>Kan testen of WordPress functies (zoals <code>add_filter<\/code> of <code>do_action<\/code>) functionaliteit aanroepen zoals verwacht<\/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=\"wp-image-128440 size-large\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2022\/07\/brainfaker-on-github-1024x515.png\" alt=\"Brain Faker op GitHub.\" width=\"1024\" height=\"515\"><figcaption id=\"caption-attachment-128440\" class=\"wp-caption-text\">Brain Faker op GitHub.<\/figcaption><\/figure>\n<p><a href=\"https:\/\/github.com\/Brain-WP\/BrainFaker\" target=\"_blank\" rel=\"noopener noreferrer\">Brain Faker<\/a> gebruikt <a href=\"https:\/\/github.com\/fzaninotto\/Faker\" target=\"_blank\" rel=\"noopener noreferrer\">Faker<\/a> (een populaire PHP library voor het genereren van nepdata) en Brain Monkey om makkelijk nep WordPress objecten en verwante functies te genereren die je kunt uitproberen, waaronder:<\/p>\n<ul>\n<li><code>WP_Post<\/code> instanties en test verwante functies zoals <code>get_post<\/code> en <code>get_post_field<\/code><\/li>\n<li><code>WP_User<\/code> instanties en test verwante functies als <code>get_userdata<\/code>, <code>get_user_by<\/code>, <code>user_can<\/code>, en meer<\/li>\n<li><code>WP_Term<\/code> instanties en test verwante functies zoals <code>get_term<\/code> en <code>get_term_by<\/code><\/li>\n<li><code>WP_Comment<\/code> instanties<\/li>\n<li><code>WP_Site<\/code> instanties en test verwante functies zoals <code>get_site<\/code><\/li>\n<li><code>WP_Post_Type<\/code> instanties en test verwante functies zoals <code>get_post_type_object<\/code> en <code>post_type_exists<\/code><\/li>\n<li><code>WP_Taxonomy<\/code> instanties en test verwante functies zoals <code>get_taxonomy<\/code> en <code>taxonomy_exists<\/code><\/li>\n<li><code>WP_Error<\/code> instanties<\/li>\n<\/ul>\n<p>De belangrijkste features\u00a0van Brain Faker zijn:<\/p>\n<ul>\n<li>Injecteert neppe maar realistische WordPress data in de unittest &#8211; de toegang tot de gewijzigde datum van een nepartikel zal zich gedragen als een datum (bv. <code>2022-04-17T13:06:58+00:00<\/code>), de gebruikersnaam zal passend zijn (bv. <code>\"John Smith\"<\/code>), een instantie van een nepartikel is geschreven door een instantie van een nepgebruiker, enzovoort<\/li>\n<li>Nepdata kunnen vooraf verstrekt worden of willekeurig gegenereerd worden<\/li>\n<li>Uitbreidbaar &#8211; ontwikkelaars kunnen klassen en functies van hun eigen WordPress plugins namaken<\/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=\"wp-image-128444 size-large\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2022\/07\/mockery-on-github-1024x700.png\" alt=\"Mockery op GitHub.\" width=\"1024\" height=\"700\"><figcaption id=\"caption-attachment-128444\" class=\"wp-caption-text\">Mockery op GitHub.<\/figcaption><\/figure>\n<p><a href=\"https:\/\/github.com\/mockery\/mockery\" target=\"_blank\" rel=\"noopener noreferrer\">Mockery<\/a> is een eenvoudig maar flexibel PHP mockobjectframework dat bedoeld is om samen met PHPUnit, <a href=\"https:\/\/www.phpspec.net\/en\/stable\/\" target=\"_blank\" rel=\"noopener noreferrer\">PHPSpec<\/a>, of een ander unittestingframework te gebruiken. Het biedt een dubbel testframework dat in staat is alle mogelijke objectbewerkingen en interacties te defini\u00ebren met behulp van een door mensen leesbare <a href=\"https:\/\/en.wikipedia.org\/wiki\/Domain-specific_language\" target=\"_blank\" rel=\"noopener noreferrer\">Domain Specific Language<\/a> (DSL).<\/p>\n<p>De belangrijkste features van Mockery zijn:<\/p>\n<ul>\n<li>Maakt het flexibel genereren van mockobjecten en stubs mogelijk (die vooraf gedefinieerde standaardantwoorden bieden op specifieke call die tijdens tests worden gedaan)<\/li>\n<li>Verbetert de testisolatiemogelijkheden van PHPUnit<\/li>\n<li>Flexibele API om mocked expectations uit te drukken, die zo veel mogelijk een natuurlijke taalbeschrijving nabootst (bv. <code>$mock-&gt;shouldReceive('myMethod')-&gt;once()-&gt;andReturn('Hello world!');<\/code>)<\/li>\n<li>Unittesten gebruiken in-memory mockobjecten om te voorkomen dat tragere systemen (zoals databases, bestandssystemen, of externe diensten) nodig zijn<\/li>\n<li>Kan zowel deterministisch als niet-deterministisch gedrag nabootsen<\/li>\n<\/ul>\n<h2>6. WordPress eigen exporttool<\/h2>\n<figure id=\"attachment_128447\" aria-describedby=\"caption-attachment-128447\" style=\"width: 1024px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-128447 size-large\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2022\/07\/wordpress-export-tool-1024x541.png\" alt=\"De WordPress exporttool.\" width=\"1024\" height=\"541\"><figcaption id=\"caption-attachment-128447\" class=\"wp-caption-text\">De WordPress exporttool.<\/figcaption><\/figure>\n<p>De <a href=\"https:\/\/wordpress.org\/support\/article\/tools-export-screen\/\" target=\"_blank\" rel=\"noopener noreferrer\">eigen exporttool van WordPress<\/a> downloadt de WordPress gegevens van de site naar je toestel als een XML bestand, inclusief berichten, pagina&#8217;s, aangepaste berichttypes, commentaar, aangepaste velden, categorie\u00ebn, tags, aangepaste taxonomie\u00ebn, gebruikers, en media. Het XML bestand heeft een aangepast format (WordPress eXtended RSS of WXR bestand genoemd) dat in elke WordPress site ge\u00efmporteerd kan worden.<\/p>\n<p>Deze tool is niet speciaal ontworpen om te testen. Het nut ervan komt echter voort uit de mogelijkheid om snapshots van de WordPress database te maken die een geschikte dataset bevatten, die dan gebruikt kan worden om te testen. Dit betekent dat de WordPress site in productie, die echte gegevens bevat, ge\u00ebxporteerd kan worden en in een <a href=\"https:\/\/kinsta.com\/nl\/docs\/wordpress-hosting\/testomgeving\/\">ontwikkelings- of testinstantie<\/a> ingevoerd kan worden om nieuwe functionaliteit te testen.<\/p>\n<p>De belangrijkste features van het WordPress exporttool zijn:<\/p>\n<ul>\n<li>Cre\u00ebren van testgegevens met behulp van een echte WordPress site<\/li>\n<li>Deelbaar exportbestand van de hele database<\/li>\n<li>Nuttig voor zowel integratie als unittesten<\/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=\"wp-image-128443 size-large\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2022\/07\/guzzle-logo-1024x277.png\" alt=\"Guzzle logo.\" width=\"1024\" height=\"277\"><figcaption id=\"caption-attachment-128443\" class=\"wp-caption-text\">Guzzle logo.<\/figcaption><\/figure>\n<p><a href=\"https:\/\/docs.guzzlephp.org\/en\/stable\/\" target=\"_blank\" rel=\"noopener noreferrer\">Guzzle<\/a> is een PHP HTTP client die het makkelijk maakt HTTP verzoeken te sturen en te integreren met webdiensten.<\/p>\n<p>Guzzle is een algemene tool, dus testen is slechts een van zijn mogelijke use cases. Samen met een lokale webserver, <a href=\"https:\/\/kinsta.com\/nl\/devkinsta\/features\/\">zoals DevKinsta<\/a>, maakt Guzzle het mogelijk integratietests uit te voeren: Je kunt Guzzle gebruiken om een HTTP verzoek te sturen naar de ontwikkelwebserver, en dan het antwoord doorgeven aan een unittest in PHPUnit die controleert of de content en headers zijn ingesteld zoals verwacht.<\/p>\n<p>De belangrijkste features\u00a0van Guzzle zijn:<\/p>\n<ul>\n<li>Voldoet aan de <a href=\"https:\/\/www.php-fig.org\/psr\/psr-7\/\" target=\"_blank\" rel=\"noopener noreferrer\">PHP standaard aanbeveling &#8220;PSR-7&#8221;<\/a> (voor HTTP berichtinterfaces), waardoor uitsluiting van vendor lock-in mogelijk is<\/li>\n<li>Eenvoudig en snel<\/li>\n<li>Tests worden uitgevoerd op een echte WordPress site, wat de betrouwbaarheid verhoogt<\/li>\n<li>Kan vanuit PHPUnit worden uitgevoerd voor gemak en snelheid<\/li>\n<li>Integratietesten kunnen geautomatiseerd worden en aan het Continuous Integration proces worden toegevoegd<\/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=\"WP-CLI logo.\" width=\"1024\" height=\"451\"><figcaption id=\"caption-attachment-128448\" class=\"wp-caption-text\">WP-CLI logo.<\/figcaption><\/figure>\n<p><a href=\"https:\/\/wp-cli.org\/\" target=\"_blank\" rel=\"noopener noreferrer\">WP-CLI<\/a> is de opdrachtregelinterface voor WordPress. Je kunt er plugins mee bijwerken, Multisite installaties configureren en nog veel meer, zonder een <a href=\"https:\/\/kinsta.com\/nl\/blog\/veiligste-browsers\/\">webbrowser<\/a> te gebruiken.<\/p>\n<p>WP-CLI is niet specifieke een testtool, maar testen behoort tot de vele use cases. Bijvoorbeeld, nadat je een nieuwe ontwikkelingswebserver hebt opgestart, kun je een bash script uitvoeren met WP-CLI opdrachten om testgegevens in de WordPress site te importeren, de gebruikers met de juiste rollen en mogelijkheden aan te maken, benodigde exterbe plugins te installeren, en andere dergelijke taken.<\/p>\n<p>Omdat het script met de WP-CLI commando&#8217;s in je <a href=\"https:\/\/kinsta.com\/nl\/blog\/git-voor-webdevelopment\/\">Git repository<\/a> kan worden opgeslagen, kan het proces om integratietests uit te voeren worden geautomatiseerd en in je Continuous Integration proces worden ge\u00efntegreerd:<\/p>\n<ol start=\"1\">\n<li>Gebruik de WordPress exporttool om echte testgegevens te genereren, en sla ze op in de Git repository.<\/li>\n<li>Gebruik DevKinsta om een webserver met een nieuwe WordPress instantie te starten.<\/li>\n<li>Gebruik WP-CLI om de testgegevens in de WordPress site te importeren (DevKinsta <a href=\"https:\/\/www.smashingmagazine.com\/2021\/06\/multiple-wordpress-sites-locally-devkinsta\/#using-wp-cli\" target=\"_blank\" rel=\"noopener noreferrer\">kan via WP-CLI bediend worden<\/a>).<\/li>\n<li>Maak een unittest in PHPUnit die Guzzle een HTTP verzoek op de webserver laat uitvoeren om je responscontent en headers te verifi\u00ebren.<\/li>\n<\/ol>\n<p>WP-CLI&#8217;s belangrijkste features zijn:<\/p>\n<ul>\n<li>Maakt het mogelijk op afstand opdrachten uit te voeren op een WordPress instantie via een opdrachtregelinterface<\/li>\n<li>Uitbreidbaar met andere tools<\/li>\n<li>Verbetert de mogelijkheden van de teststack<\/li>\n<li>Maakt volledige automatisering van het proces mogelijk<\/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=\"XDebug logo.\" width=\"1024\" height=\"396\"><figcaption id=\"caption-attachment-128449\" class=\"wp-caption-text\">XDebug logo.<\/figcaption><\/figure>\n<p><a href=\"https:\/\/xdebug.org\/\" target=\"_blank\" rel=\"noopener noreferrer\">XDebug<\/a> is een uitbreiding voor PHP die een reeks mogelijkheden biedt om de PHP ontwikkelingservaring te verbeteren, waaronder debugging, verbeteringen in PHP&#8217;s foutenrapportage, tracering, profilering, en analyse van de codedekking.<\/p>\n<p>XDebug helpt je niet je code te testen, maar helpt je uit te zoeken waar de fout zit. Het combineren van XDebug met PHPUnit is bijzonder effectief: Als een test mislukt en je kunt de bron van het probleem niet vinden, kun je XDebug gebruiken om breekpunten in de code van de unittest aan te brengen. Als je de unittest opnieuw uitvoert, wordt het PHP script op elk van die breekpunten gepauzeerd, zodat je de huidige toestand van de uitvoering kunt inspecteren (call stack, property en objectwaarden, enz.) en proberen te ontdekken wat er mis is.<\/p>\n<p>De belangrijkste features\u00a0van XDebug zijn:<\/p>\n<ul>\n<li>Bevat integraties voor populaire <a href=\"https:\/\/kinsta.com\/nl\/blog\/php-editor\/\">PHP editors<\/a>, waaronder VS Code, PHPStorm en Sublime<\/li>\n<li>Maakt een profiel van hoeveel tijd er in elke functiecall gaat zitten en hoeveel geheugen die verbruikt<\/li>\n<li>Veel krachtiger dan eenvoudig <code>var_dump<\/code> gebruiken om code te debuggen<\/li>\n<li>Maakt het mogelijk om variabele waarden rechtstreeks te wijzigen bij het pauzeren op breekpunten<\/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=\"PHPStan logo.\" width=\"1024\" height=\"352\"><figcaption id=\"caption-attachment-128445\" class=\"wp-caption-text\">PHPStan logo.<\/figcaption><\/figure>\n<p><a href=\"https:\/\/phpstan.org\/\" target=\"_blank\" rel=\"noopener noreferrer\">PHPStan<\/a> is een statische analysetool voor PHP, ontworpen om bugs in de code te vinden nog voor je tests schrijft.<\/p>\n<p>Het doel van PHPStan is om het aantal tests dat ontwikkelaars moeten schrijven te verminderen. Deze tool wordt als eerste in de teststack uitgevoerd, en vangt preventief zo veel mogelijk bugs op. Alleen bugs die niet uit statische analyse afgeleid kunnen worden (bv. die met gebrekkige logica) moeten via unittests worden gevalideerd.<\/p>\n<p>PHPStan werkt door de hele codebase te scannen en te zoeken naar mismatches. Bijvoorbeeld, de antwoordwaarde van een functie die een float teruggeeft kan niet toegewezen worden aan een functieparameter van het type integer. Als de code zo&#8217;n voorval bevat, is dat een potenti\u00eble bug, en PHPStan waarschuwt je ervoor tijdens de ontwikkelingsfase, terwijl je de applicatiecode schrijft.<\/p>\n<p>De belangrijkste features\u00a0van PHPStan zijn:<\/p>\n<ul>\n<li>Automatisering en integratie binnen je bestaande Continuous Integration proces<\/li>\n<li>Lokaliseert veel lastige bugs, zoals type mismatches<\/li>\n<li>Scant de hele codebase en vindt bugs in zelden uitgevoerde delen van code<\/li>\n<li>Georganiseerd in niveaus van toenemende complexiteit om geleidelijke integratie mogelijk te maken<\/li>\n<li>Bevat uitbreidingen voor de <a href=\"https:\/\/kinsta.com\/nl\/blog\/php-frameworks\/\">meest populaire PHP frameworks<\/a> en CMS&#8217;en, waaronder Symfony, <a href=\"https:\/\/kinsta.com\/nl\/blog\/wat-is-laravel\/\">Laravel<\/a>, Doctrine, Nette, en WordPress.<\/li>\n<\/ul>\n<h2>Samenvatting<\/h2>\n<p>Het gevolg van het ongemerkt binnendringen van bugs in je applicatie in productie kunnen schadelijk zijn <a href=\"https:\/\/kinsta.com\/nl\/blog\/domeinreputatie\/\">voor je reputatie<\/a> en inkomen, dus moet je proberen ze uit te roeien voor ze je gebruikers treffen.<br \/>\n<br \/>\nIn complexe applicaties is het bijna onmogelijk om 100% zeker van te zijn dat er geen bugs in zullen zitten. Daarom moet je een proces opzetten om tijdens de eerste ontwikkelingscyclus zo veel mogelijk bugs te vinden en te verwijderen.<\/p>\n<p>Met een goed ontworpen testtoolkit kun je de kans dat je applicatie zich op onverwachte manieren gedraagt sterk verkleinen. De open-source community heeft een overvloed aan tools gemaakt en beschikbaar gesteld om de verschillende aspecten van een applicatie te testen, die je kunt &#8211; en zou moeten! &#8211; gebruiken om een uitgebreide teststack te maken.<\/p>\n<p>In dit artikel hebben we 10 tools besproken om je te helpen je doelen te bereiken bij het testen van PHP code in een <a href=\"https:\/\/kinsta.com\/nl\/onderwerpen\/wordpress-plugins\/\">WordPress plugin<\/a>.<\/p>\n<p>Welke van deze tools heb jij gebruikt voor je laatste project? Laat ons weten wat je ermee bouwde in de commentaarsectie hieronder!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Geen enkele software is vrij van bugs. Dit is een principe dat voor elke programmeertaal en elke applicatie geldt. Wanneer deze bugs op je productiesite terechtkomen, &#8230;<\/p>\n","protected":false},"author":196,"featured_media":45139,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_kinsta_gated_content":false,"_kinsta_gated_content_redirect":"","footnotes":""},"tags":[315,32,696,443,204],"topic":[834,864,884],"class_list":["post-45138","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-php-frameworks","topic-webdevelopment-tools"],"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 PHP testtools voor WordPress plugins<\/title>\n<meta name=\"description\" content=\"We hebben 10 van de populairste open-source PHP testtools op een rijtje gezet, die je kunnen helpen je teststack voor WordPress plugins samen te stellen.\" \/>\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\/nl\/blog\/php-testtools\/\" \/>\n<meta property=\"og:locale\" content=\"nl_NL\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"10 PHP testtools voor WordPress plugins\" \/>\n<meta property=\"og:description\" content=\"We hebben 10 van de populairste open-source PHP testtools op een rijtje gezet, die je kunnen helpen je teststack voor WordPress plugins samen te stellen.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/kinsta.com\/nl\/blog\/php-testtools\/\" \/>\n<meta property=\"og:site_name\" content=\"Kinsta\u00ae\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/Kinsta-Nederland-476213452787823\/\" \/>\n<meta property=\"article:published_time\" content=\"2022-08-18T10:07:53+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-05-22T10:14:52+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/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=\"We hebben 10 van de populairste open-source PHP testtools op een rijtje gezet, die je kunnen helpen je teststack voor WordPress plugins samen te stellen.\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2022\/08\/php-testing-tools.jpg\" \/>\n<meta name=\"twitter:creator\" content=\"@losoviz\" \/>\n<meta name=\"twitter:site\" content=\"@Kinsta_NL\" \/>\n<meta name=\"twitter:label1\" content=\"Geschreven door\" \/>\n\t<meta name=\"twitter:data1\" content=\"Leonardo Losoviz\" \/>\n\t<meta name=\"twitter:label2\" content=\"Geschatte leestijd\" \/>\n\t<meta name=\"twitter:data2\" content=\"12 minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/kinsta.com\/nl\/blog\/php-testtools\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/kinsta.com\/nl\/blog\/php-testtools\/\"},\"author\":{\"name\":\"Leonardo Losoviz\",\"@id\":\"https:\/\/kinsta.com\/nl\/#\/schema\/person\/c382de1885cc21b079ec1e71d7faf238\"},\"headline\":\"10 PHP testtools voor WordPress plugins\",\"datePublished\":\"2022-08-18T10:07:53+00:00\",\"dateModified\":\"2023-05-22T10:14:52+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/kinsta.com\/nl\/blog\/php-testtools\/\"},\"wordCount\":2144,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/kinsta.com\/nl\/#organization\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/nl\/blog\/php-testtools\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2022\/08\/php-testing-tools.jpg\",\"keywords\":[\"code\",\"php\",\"testing\",\"web development tools\",\"wordpress plugins\"],\"inLanguage\":\"nl-NL\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/kinsta.com\/nl\/blog\/php-testtools\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/kinsta.com\/nl\/blog\/php-testtools\/\",\"url\":\"https:\/\/kinsta.com\/nl\/blog\/php-testtools\/\",\"name\":\"10 PHP testtools voor WordPress plugins\",\"isPartOf\":{\"@id\":\"https:\/\/kinsta.com\/nl\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/kinsta.com\/nl\/blog\/php-testtools\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/nl\/blog\/php-testtools\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2022\/08\/php-testing-tools.jpg\",\"datePublished\":\"2022-08-18T10:07:53+00:00\",\"dateModified\":\"2023-05-22T10:14:52+00:00\",\"description\":\"We hebben 10 van de populairste open-source PHP testtools op een rijtje gezet, die je kunnen helpen je teststack voor WordPress plugins samen te stellen.\",\"breadcrumb\":{\"@id\":\"https:\/\/kinsta.com\/nl\/blog\/php-testtools\/#breadcrumb\"},\"inLanguage\":\"nl-NL\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/kinsta.com\/nl\/blog\/php-testtools\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"nl-NL\",\"@id\":\"https:\/\/kinsta.com\/nl\/blog\/php-testtools\/#primaryimage\",\"url\":\"https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2022\/08\/php-testing-tools.jpg\",\"contentUrl\":\"https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2022\/08\/php-testing-tools.jpg\",\"width\":1460,\"height\":730,\"caption\":\"10 PHP testtools voor WordPress plugins\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/kinsta.com\/nl\/blog\/php-testtools\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/kinsta.com\/nl\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"DevKinsta\",\"item\":\"https:\/\/kinsta.com\/nl\/onderwerpen\/devkinsta\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"10 PHP testtools voor WordPress plugins\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/kinsta.com\/nl\/#website\",\"url\":\"https:\/\/kinsta.com\/nl\/\",\"name\":\"Kinsta\u00ae\",\"description\":\"Snelle, veilige, premium hostingoplossingen\",\"publisher\":{\"@id\":\"https:\/\/kinsta.com\/nl\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/kinsta.com\/nl\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"nl-NL\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/kinsta.com\/nl\/#organization\",\"name\":\"Kinsta\",\"url\":\"https:\/\/kinsta.com\/nl\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"nl-NL\",\"@id\":\"https:\/\/kinsta.com\/nl\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2023\/12\/kinsta-logo.jpeg\",\"contentUrl\":\"https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2023\/12\/kinsta-logo.jpeg\",\"width\":500,\"height\":500,\"caption\":\"Kinsta\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/nl\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/Kinsta-Nederland-476213452787823\/\",\"https:\/\/x.com\/Kinsta_NL\",\"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\/nl\/#\/schema\/person\/c382de1885cc21b079ec1e71d7faf238\",\"name\":\"Leonardo Losoviz\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"nl-NL\",\"@id\":\"https:\/\/kinsta.com\/nl\/#\/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\/nl\/blog\/author\/leonardolosoviz\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"10 PHP testtools voor WordPress plugins","description":"We hebben 10 van de populairste open-source PHP testtools op een rijtje gezet, die je kunnen helpen je teststack voor WordPress plugins samen te stellen.","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\/nl\/blog\/php-testtools\/","og_locale":"nl_NL","og_type":"article","og_title":"10 PHP testtools voor WordPress plugins","og_description":"We hebben 10 van de populairste open-source PHP testtools op een rijtje gezet, die je kunnen helpen je teststack voor WordPress plugins samen te stellen.","og_url":"https:\/\/kinsta.com\/nl\/blog\/php-testtools\/","og_site_name":"Kinsta\u00ae","article_publisher":"https:\/\/www.facebook.com\/Kinsta-Nederland-476213452787823\/","article_published_time":"2022-08-18T10:07:53+00:00","article_modified_time":"2023-05-22T10:14:52+00:00","og_image":[{"width":1460,"height":730,"url":"https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2022\/08\/php-testing-tools.jpg","type":"image\/jpeg"}],"author":"Leonardo Losoviz","twitter_card":"summary_large_image","twitter_description":"We hebben 10 van de populairste open-source PHP testtools op een rijtje gezet, die je kunnen helpen je teststack voor WordPress plugins samen te stellen.","twitter_image":"https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2022\/08\/php-testing-tools.jpg","twitter_creator":"@losoviz","twitter_site":"@Kinsta_NL","twitter_misc":{"Geschreven door":"Leonardo Losoviz","Geschatte leestijd":"12 minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/kinsta.com\/nl\/blog\/php-testtools\/#article","isPartOf":{"@id":"https:\/\/kinsta.com\/nl\/blog\/php-testtools\/"},"author":{"name":"Leonardo Losoviz","@id":"https:\/\/kinsta.com\/nl\/#\/schema\/person\/c382de1885cc21b079ec1e71d7faf238"},"headline":"10 PHP testtools voor WordPress plugins","datePublished":"2022-08-18T10:07:53+00:00","dateModified":"2023-05-22T10:14:52+00:00","mainEntityOfPage":{"@id":"https:\/\/kinsta.com\/nl\/blog\/php-testtools\/"},"wordCount":2144,"commentCount":0,"publisher":{"@id":"https:\/\/kinsta.com\/nl\/#organization"},"image":{"@id":"https:\/\/kinsta.com\/nl\/blog\/php-testtools\/#primaryimage"},"thumbnailUrl":"https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2022\/08\/php-testing-tools.jpg","keywords":["code","php","testing","web development tools","wordpress plugins"],"inLanguage":"nl-NL","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/kinsta.com\/nl\/blog\/php-testtools\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/kinsta.com\/nl\/blog\/php-testtools\/","url":"https:\/\/kinsta.com\/nl\/blog\/php-testtools\/","name":"10 PHP testtools voor WordPress plugins","isPartOf":{"@id":"https:\/\/kinsta.com\/nl\/#website"},"primaryImageOfPage":{"@id":"https:\/\/kinsta.com\/nl\/blog\/php-testtools\/#primaryimage"},"image":{"@id":"https:\/\/kinsta.com\/nl\/blog\/php-testtools\/#primaryimage"},"thumbnailUrl":"https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2022\/08\/php-testing-tools.jpg","datePublished":"2022-08-18T10:07:53+00:00","dateModified":"2023-05-22T10:14:52+00:00","description":"We hebben 10 van de populairste open-source PHP testtools op een rijtje gezet, die je kunnen helpen je teststack voor WordPress plugins samen te stellen.","breadcrumb":{"@id":"https:\/\/kinsta.com\/nl\/blog\/php-testtools\/#breadcrumb"},"inLanguage":"nl-NL","potentialAction":[{"@type":"ReadAction","target":["https:\/\/kinsta.com\/nl\/blog\/php-testtools\/"]}]},{"@type":"ImageObject","inLanguage":"nl-NL","@id":"https:\/\/kinsta.com\/nl\/blog\/php-testtools\/#primaryimage","url":"https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2022\/08\/php-testing-tools.jpg","contentUrl":"https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2022\/08\/php-testing-tools.jpg","width":1460,"height":730,"caption":"10 PHP testtools voor WordPress plugins"},{"@type":"BreadcrumbList","@id":"https:\/\/kinsta.com\/nl\/blog\/php-testtools\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/kinsta.com\/nl\/"},{"@type":"ListItem","position":2,"name":"DevKinsta","item":"https:\/\/kinsta.com\/nl\/onderwerpen\/devkinsta\/"},{"@type":"ListItem","position":3,"name":"10 PHP testtools voor WordPress plugins"}]},{"@type":"WebSite","@id":"https:\/\/kinsta.com\/nl\/#website","url":"https:\/\/kinsta.com\/nl\/","name":"Kinsta\u00ae","description":"Snelle, veilige, premium hostingoplossingen","publisher":{"@id":"https:\/\/kinsta.com\/nl\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/kinsta.com\/nl\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"nl-NL"},{"@type":"Organization","@id":"https:\/\/kinsta.com\/nl\/#organization","name":"Kinsta","url":"https:\/\/kinsta.com\/nl\/","logo":{"@type":"ImageObject","inLanguage":"nl-NL","@id":"https:\/\/kinsta.com\/nl\/#\/schema\/logo\/image\/","url":"https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2023\/12\/kinsta-logo.jpeg","contentUrl":"https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2023\/12\/kinsta-logo.jpeg","width":500,"height":500,"caption":"Kinsta"},"image":{"@id":"https:\/\/kinsta.com\/nl\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/Kinsta-Nederland-476213452787823\/","https:\/\/x.com\/Kinsta_NL","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\/nl\/#\/schema\/person\/c382de1885cc21b079ec1e71d7faf238","name":"Leonardo Losoviz","image":{"@type":"ImageObject","inLanguage":"nl-NL","@id":"https:\/\/kinsta.com\/nl\/#\/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\/nl\/blog\/author\/leonardolosoviz\/"}]}},"acf":[],"_links":{"self":[{"href":"https:\/\/kinsta.com\/nl\/wp-json\/wp\/v2\/posts\/45138","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kinsta.com\/nl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kinsta.com\/nl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kinsta.com\/nl\/wp-json\/wp\/v2\/users\/196"}],"replies":[{"embeddable":true,"href":"https:\/\/kinsta.com\/nl\/wp-json\/wp\/v2\/comments?post=45138"}],"version-history":[{"count":9,"href":"https:\/\/kinsta.com\/nl\/wp-json\/wp\/v2\/posts\/45138\/revisions"}],"predecessor-version":[{"id":46688,"href":"https:\/\/kinsta.com\/nl\/wp-json\/wp\/v2\/posts\/45138\/revisions\/46688"}],"alternate":[{"embeddable":true,"hreflang":"en","title":"English","href":"https:\/\/kinsta.com\/nl\/wp-json\/kinsta\/v1\/posts\/45138\/translations\/en"},{"embeddable":true,"hreflang":"it","title":"Italian","href":"https:\/\/kinsta.com\/nl\/wp-json\/kinsta\/v1\/posts\/45138\/translations\/it"},{"embeddable":true,"hreflang":"pt","title":"Portuguese","href":"https:\/\/kinsta.com\/nl\/wp-json\/kinsta\/v1\/posts\/45138\/translations\/pt"},{"embeddable":true,"hreflang":"fr","title":"French","href":"https:\/\/kinsta.com\/nl\/wp-json\/kinsta\/v1\/posts\/45138\/translations\/fr"},{"embeddable":true,"hreflang":"de","title":"German","href":"https:\/\/kinsta.com\/nl\/wp-json\/kinsta\/v1\/posts\/45138\/translations\/de"},{"embeddable":true,"hreflang":"es","title":"Spanish","href":"https:\/\/kinsta.com\/nl\/wp-json\/kinsta\/v1\/posts\/45138\/translations\/es"},{"embeddable":true,"hreflang":"nl","title":"Dutch","href":"https:\/\/kinsta.com\/nl\/wp-json\/kinsta\/v1\/posts\/45138\/translations\/nl"},{"embeddable":true,"hreflang":"ja","title":"Japanese","href":"https:\/\/kinsta.com\/nl\/wp-json\/kinsta\/v1\/posts\/45138\/translations\/jp"},{"href":"https:\/\/kinsta.com\/nl\/wp-json\/kinsta\/v1\/posts\/45138\/tree"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/kinsta.com\/nl\/wp-json\/wp\/v2\/media\/45139"}],"wp:attachment":[{"href":"https:\/\/kinsta.com\/nl\/wp-json\/wp\/v2\/media?parent=45138"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kinsta.com\/nl\/wp-json\/wp\/v2\/tags?post=45138"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/kinsta.com\/nl\/wp-json\/wp\/v2\/topic?post=45138"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}