{"id":716,"date":"2023-09-29T17:31:49","date_gmt":"2023-09-29T17:31:49","guid":{"rendered":"https:\/\/webhotelsoversigt.dk\/blog\/?p=716"},"modified":"2023-09-29T17:33:42","modified_gmt":"2023-09-29T17:33:42","slug":"php-8-3-lander-til-november-her-er-det-nye","status":"publish","type":"post","link":"https:\/\/webhotelsoversigt.dk\/blog\/php-8-3-lander-til-november-her-er-det-nye\/","title":{"rendered":"PHP 8.3 lander til november \u2013 her er det nye"},"content":{"rendered":"\n<p><strong><em>En ny opdatering til PHP er p\u00e5 vej<\/em><\/strong><\/p>\n\n\n\n<p>Du har m\u00e5ske allerede opgraderet til PHP 8.2 og nyder allerede de nyeste funktioner s\u00e5som readonly classes og de nye Randomizer funktioner. Du nyder nok ogs\u00e5 at PHP er blevet meget hurtigere. Version 8.3 har lige ramt beta og forventes lanceret ultimo november, hvor du f\u00e5r endnu flere fede Randomizer funktioner, bedre typingsystem og JSON valideringsfunktioner.<\/p>\n\n\n\n<p>PHP har, ligesom JavaScript, ofte f\u00e5et kritik for at have et meget l\u00f8st typesystem, hvor alting kan v\u00e6re alting. Derfor har PHP siden version 8.0 arbejdet h\u00e5rdt p\u00e5 at indf\u00f8re en masse funktioner og muligheder til deres type-system, der g\u00f8r det muligt at bruge st\u00e6rke typer i dit PHP-program. Det smarte ved disse opgraderinger til typesystemet er at de er valgfrie, og du kan frit tilv\u00e6lge dem der hvor du har brug for dem. Det er alts\u00e5 ikke ligesom andre programeringssprog, som f.eks. C# og Java hvor du altid skal bruge st\u00e6rke typer.<\/p>\n\n\n\n<h1 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Bedre_typesikkerhed_Randomizer_funktioner_og_bedre_fejlforudsigelser\"><\/span>Bedre typesikkerhed, Randomizer funktioner og bedre fejlforudsigelser<span class=\"ez-toc-section-end\"><\/span><\/h1>\n\n\n\n<p>Med PHP 8.2 blev den nye Randomizer classe tilf\u00f8jet og i PHP 8.3 f\u00e5r den endnu flere funktioner. Det giver dig mulighed for at generere tilf\u00e6ldige v\u00e6rdier, som du kan bruge til f.eks. sikkerhed n\u00e5r du skal oprette og gemme adgangskode eller n\u00e5r du skal auto-generere et ID til en r\u00e6kke i databasen.<\/p>\n\n\n\n<p>Hvis du gemmer data i databasen, er det ofte rart at kunne se hvorn\u00e5r denne data er blevet oprettet. Du laver m\u00e5ske en ny `DateTime()` som gemmes i databasen. Men hvis denne v\u00e6rdi er readonly og du kopierer denne r\u00e6kke, hvordan sikrer du dig s\u00e5 at du f\u00e5r en ny v\u00e6rdi. I PHP 8.3 kan man i magic metoden `__clone` faktisk overskrive readonly properties specifikt for at l\u00f8se dette problem.<\/p>\n\n\n\n<p>`Randomizer` klassen som blev introduceret i PHP 8.2, har nu f\u00e5et endnu flere funktioner. Der tilf\u00f8jes tre nye funktioner kaldet henholdvis `getBytesFromString`, `getFloat` og `nextFloat`. Disse kan du bruge hvis du skal generere nogle tilf\u00e6ldige v\u00e6rdier til brug i f.eks. sikkerhed eller eller ved auto-generering af ID\u2019er til din database.<\/p>\n\n\n\n<p>Endnu ting der er hver at se p\u00e5 er tilf\u00f8jelsen af den nye `json_validate` funktion. F\u00f8rhen n\u00e5r du havde JSON data og du skulle validere om det var valid JSON syntax, skulle du bruge `json_parse` funktionen. Udfordringen med denne funktion er at hvis du ikke skal bruge data, men kun vil validere, s\u00e5 bruger du un\u00f8dvendige ressourcer p\u00e5 dette. Med `json_validate` f\u00e5r du en boolean der fort\u00e6ller om dit JSON er korrekt. Du kan ogs\u00e5 definere hvor dybt funktionen skal validere, s\u00e5 du p\u00e5 den m\u00e5de kan optimere valideringen og kun validere det du mener er nok.<\/p>\n\n\n\n<h1 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Er_PHP_83_hurtigere_og_hvornaar_kan_jeg_opgradere\"><\/span>Er PHP 8.3 hurtigere og hvorn\u00e5r kan jeg opgradere?<span class=\"ez-toc-section-end\"><\/span><\/h1>\n\n\n\n<p>En <a href=\"https:\/\/onlinephp.io\/benchmarks\">benchmark fra OnlinePHP.io<\/a> viser at PHP 8.3 ikke er betydeligt hurtigere end 8.2, s\u00e5 du beh\u00f8ver ikke opgradere for hastighedens skyld. Det er dog v\u00e6rd at n\u00e6vne, at hvis du opdaterer j\u00e6vnligt, s\u00e5 undg\u00e5r \u00e9n stor opdatering med stor risiko for flere ting kan g\u00e5 i stykker p\u00e5 en gang.<\/p>\n\n\n\n<p>If\u00f8lge denne blogpost p\u00e5 php.net, forventes PHP 8.3 at blive frigivet 23. november, men du kan allerede nu pr\u00f8ve b\u00e5de betaen og release candidates p\u00e5 php.net.<\/p>\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_76 counter-hierarchy ez-toc-counter ez-toc-white ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Indhold<\/p>\n<span class=\"ez-toc-title-toggle\"><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-1'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/webhotelsoversigt.dk\/blog\/php-8-3-lander-til-november-her-er-det-nye\/#Bedre_typesikkerhed_Randomizer_funktioner_og_bedre_fejlforudsigelser\" >Bedre typesikkerhed, Randomizer funktioner og bedre fejlforudsigelser<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-1'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/webhotelsoversigt.dk\/blog\/php-8-3-lander-til-november-her-er-det-nye\/#Er_PHP_83_hurtigere_og_hvornaar_kan_jeg_opgradere\" >Er PHP 8.3 hurtigere og hvorn\u00e5r kan jeg opgradere?<\/a><\/li><\/ul><\/nav><\/div>\n","protected":false},"excerpt":{"rendered":"<p>En ny opdatering til PHP er p\u00e5 vej Du har m\u00e5ske allerede opgraderet til PHP 8.2 og nyder allerede de nyeste funktioner s\u00e5som readonly classes og de nye Randomizer funktioner. Du nyder nok ogs\u00e5 at PHP er blevet meget hurtigere. Version 8.3 har lige ramt beta og forventes lanceret ultimo november, hvor du f\u00e5r endnu [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":718,"comment_status":"open","ping_status":"open","sticky":false,"template":"blogpostnew.php","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-716","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-blog"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v20.3 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Er din side klar til PHP 8.3? Se hvad den nye version indeholder<\/title>\n<meta name=\"description\" content=\"Du har allerede opgraderet til PHP 8.2 og nyder de nyeste funktioner s\u00e5som readonly classes og de nye Randomizer funktioner. Men er du klar til PHP 8.3?\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/webhotelsoversigt.dk\/blog\/php-8-3-lander-til-november-her-er-det-nye\/\" \/>\n<meta property=\"og:locale\" content=\"da_DK\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Er din side klar til PHP 8.3? Se hvad den nye version indeholder\" \/>\n<meta property=\"og:description\" content=\"Du har allerede opgraderet til PHP 8.2 og nyder de nyeste funktioner s\u00e5som readonly classes og de nye Randomizer funktioner. Men er du klar til PHP 8.3?\" \/>\n<meta property=\"og:url\" content=\"https:\/\/webhotelsoversigt.dk\/blog\/php-8-3-lander-til-november-her-er-det-nye\/\" \/>\n<meta property=\"og:site_name\" content=\"Webhotelsoversigts bloggen\" \/>\n<meta property=\"article:author\" content=\"https:\/\/webhotelsoversigt.dk\/blog\/wp-content\/uploads\/2023\/09\/profile-pic.png\" \/>\n<meta property=\"article:published_time\" content=\"2023-09-29T17:31:49+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-09-29T17:33:42+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/webhotelsoversigt.dk\/blog\/wp-content\/uploads\/2023\/09\/Webhotelsoversigt.png\" \/>\n\t<meta property=\"og:image:width\" content=\"870\" \/>\n\t<meta property=\"og:image:height\" content=\"500\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Christian Larsen\" \/>\n<meta name=\"twitter:label1\" content=\"Skrevet af\" \/>\n\t<meta name=\"twitter:data1\" content=\"Christian Larsen\" \/>\n\t<meta name=\"twitter:label2\" content=\"Estimeret l\u00e6setid\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutter\" \/>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Er din side klar til PHP 8.3? Se hvad den nye version indeholder","description":"Du har allerede opgraderet til PHP 8.2 og nyder de nyeste funktioner s\u00e5som readonly classes og de nye Randomizer funktioner. Men er du klar til PHP 8.3?","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:\/\/webhotelsoversigt.dk\/blog\/php-8-3-lander-til-november-her-er-det-nye\/","og_locale":"da_DK","og_type":"article","og_title":"Er din side klar til PHP 8.3? Se hvad den nye version indeholder","og_description":"Du har allerede opgraderet til PHP 8.2 og nyder de nyeste funktioner s\u00e5som readonly classes og de nye Randomizer funktioner. Men er du klar til PHP 8.3?","og_url":"https:\/\/webhotelsoversigt.dk\/blog\/php-8-3-lander-til-november-her-er-det-nye\/","og_site_name":"Webhotelsoversigts bloggen","article_author":"https:\/\/webhotelsoversigt.dk\/blog\/wp-content\/uploads\/2023\/09\/profile-pic.png","article_published_time":"2023-09-29T17:31:49+00:00","article_modified_time":"2023-09-29T17:33:42+00:00","og_image":[{"width":870,"height":500,"url":"https:\/\/webhotelsoversigt.dk\/blog\/wp-content\/uploads\/2023\/09\/Webhotelsoversigt.png","type":"image\/png"}],"author":"Christian Larsen","twitter_misc":{"Skrevet af":"Christian Larsen","Estimeret l\u00e6setid":"3 minutter"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/webhotelsoversigt.dk\/blog\/php-8-3-lander-til-november-her-er-det-nye\/","url":"https:\/\/webhotelsoversigt.dk\/blog\/php-8-3-lander-til-november-her-er-det-nye\/","name":"Er din side klar til PHP 8.3? Se hvad den nye version indeholder","isPartOf":{"@id":"https:\/\/webhotelsoversigt.dk\/blog\/#website"},"datePublished":"2023-09-29T17:31:49+00:00","dateModified":"2023-09-29T17:33:42+00:00","author":{"@id":"https:\/\/webhotelsoversigt.dk\/blog\/#\/schema\/person\/d6a3b29da4f3f598846f30ce30a61429"},"description":"Du har allerede opgraderet til PHP 8.2 og nyder de nyeste funktioner s\u00e5som readonly classes og de nye Randomizer funktioner. Men er du klar til PHP 8.3?","inLanguage":"da-DK","potentialAction":[{"@type":"ReadAction","target":["https:\/\/webhotelsoversigt.dk\/blog\/php-8-3-lander-til-november-her-er-det-nye\/"]}]},{"@type":"WebSite","@id":"https:\/\/webhotelsoversigt.dk\/blog\/#website","url":"https:\/\/webhotelsoversigt.dk\/blog\/","name":"Webhotelsoversigts bloggen","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/webhotelsoversigt.dk\/blog\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"da-DK"},{"@type":"Person","@id":"https:\/\/webhotelsoversigt.dk\/blog\/#\/schema\/person\/d6a3b29da4f3f598846f30ce30a61429","name":"Christian Larsen","image":{"@type":"ImageObject","inLanguage":"da-DK","@id":"https:\/\/webhotelsoversigt.dk\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/3eecdc8d24d61e7ff681dbdd8fc1bb53a6e305bad7c4071581455a13ae6b3e98?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/3eecdc8d24d61e7ff681dbdd8fc1bb53a6e305bad7c4071581455a13ae6b3e98?s=96&d=mm&r=g","caption":"Christian Larsen"},"description":"Her kan du l\u00e6se hvem jeg er, og hvorfor det er jeg deler mine erfaringer med de forskellige webhoteller her p\u00e5 siden. Mine erfaringer Jeg lavede min f\u00f8rste hjemmeside tilbage i 2009, hvilket giver mig 10+ \u00e5rs erfaringer med webhoteller og webhosting af hjemmesider. Det er den erfaringer jeg fors\u00f8ger at give videre her. Min erfaring bygger dog ikke kun p\u00e5 webhoteller, men jeg er ogs\u00e5 s\u00e6rdeles kyndig n\u00e5r det kommer til programmering. Jeg har tilbage i min HTX haft et fag der hedder kommunikation og multimedier, som jeg afsluttet med et flot 11 tal. Opgaven bestod dengang i at lave en webshop. Den historie begynder alts\u00e5 n\u00e6sten 10\u00e5r f\u00f8r jeg havde min f\u00f8rste dedikeret hjemmeside, og kan derfor alts\u00e5 samlet komme p\u00e5 p\u00e5 20+ \u00e5rs erfaring med hjemmesider og webhosting tilsammen. Derfor deler jeg min erfaring N\u00e5r man har en hjemmeside, og specielt en man gerne vil have tjener nogle penge. S\u00e5 er det forholdsvis vigtigt, at den er online hele tiden. Hvis der er huller i onlinetiden, s\u00e5 betyder det ikke kun nedgang i oms\u00e6tningen, men det kan ogs\u00e5 betyde nedgangs i s\u00f8geresultaterne i google, og irriteret brugere som ikke \u00f8nsker at komme tilbage. Tilbage i 2009, da der ikke var ret meget erfaringsdeling omkring webhosting k\u00f8bte jeg et webhotel, som var dyrt fordi jeg s\u00e5 var sikker p\u00e5 at oppetiden var god, s\u00e5dan hang det desv\u00e6rre ikke sammen. Herefter var jeg p\u00e5 en rejse igennem forskellige webhoteller for at finde det med de bedste oppetider og svartider. Den erfaring jeg gjorde mig i denne rejse fik mig til at lave hjemmesiden her. Christian Larsen Privat Christian er noget af n\u00f8rd n\u00e5r det kommer til de ting han br\u00e6nder for. S\u00e6rligt hjemmesider og r\u00e5dgivning tager mange af hans private timer. N\u00e5r computeren er slukket, s\u00e5 g\u00e5r der mange timer sammen med hans sk\u00f8nne b\u00f8rn, dem har han 2 af. Desuden bruger han meget tid p\u00e5 rejser og generelt p\u00e5 at nyde livet sammen med hans kone og hunden. Kontakt til Christian Larsen Email: info@webhotelsoversigt.dk","sameAs":["https:\/\/webhotelsoversigt.dk\/blog\/wp-content\/uploads\/2023\/09\/profile-pic.png"],"url":"https:\/\/webhotelsoversigt.dk\/blog\/author\/tim-petersson\/"}]}},"_links":{"self":[{"href":"https:\/\/webhotelsoversigt.dk\/blog\/wp-json\/wp\/v2\/posts\/716","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/webhotelsoversigt.dk\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/webhotelsoversigt.dk\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/webhotelsoversigt.dk\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/webhotelsoversigt.dk\/blog\/wp-json\/wp\/v2\/comments?post=716"}],"version-history":[{"count":1,"href":"https:\/\/webhotelsoversigt.dk\/blog\/wp-json\/wp\/v2\/posts\/716\/revisions"}],"predecessor-version":[{"id":719,"href":"https:\/\/webhotelsoversigt.dk\/blog\/wp-json\/wp\/v2\/posts\/716\/revisions\/719"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/webhotelsoversigt.dk\/blog\/wp-json\/wp\/v2\/media\/718"}],"wp:attachment":[{"href":"https:\/\/webhotelsoversigt.dk\/blog\/wp-json\/wp\/v2\/media?parent=716"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/webhotelsoversigt.dk\/blog\/wp-json\/wp\/v2\/categories?post=716"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/webhotelsoversigt.dk\/blog\/wp-json\/wp\/v2\/tags?post=716"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}