PHP 8.5 markerar ett tydligt steg mot ett modernare PHP, där både språkets syntax och motor har vässats. Med en ny URI-extension, pipe-operatorn |> och förbättrat stöd för funktionell och typstark kod gör versionen det enklare att skriva tydligare, säkrare och mer högpresterande webbapplikationer. Samtidigt städas äldre beteenden bort och lägger grunden för nästa generations PHP-projekt.

PHP 8.5 – En modernare, snabbare och smartare PHP-version
PHP 8.5 är nu släppt och erbjuder betydande förbättringar i syntax, prestanda och utvecklarupplevelse. Språket tar ytterligare kliv mot modern och tydlig programmeringsstil, med nya operatorer, attribut och effektivare resursanvändning.
Ny URI-extension
En av de största nyheterna är den inbyggda URI-extensionen som ersätter parse_url() vid avancerad användning. Den ger ett konsekvent API för att parsa, normalisera och modifiera URL:er enligt RFC 3986 och WHATWG-standarden. Den bygger på uriparser och Lexbor och är särskilt användbar i system där korrekt URL-hantering är avgörande.
Pipe-operatorn |>
PHP introducerar nu pipe-operatorn (|>), som möjliggör kedjning av funktioner från vänster till höger. Detta ersätter djupt nästlade funktionsanrop och ger tydligare och mer läsbar kod.
$result = $value
|> trim(...)
|> strtolower(...)
|> myTransform(...);
Operatorn kan användas med arrow functions och partial application. Den gör transformationskedjor enklare att följa och underhålla.
Förbättrad objektkloning med clone-with
Den nya syntaxen för att klona objekt och samtidigt ändra egenskaper förenklar den så kallade “with-er”-modellen och fungerar även i readonly-klasser.
$newObj = clone ($obj, ['prop' => $value]);
Det minskar behovet av extra kod vid uppdatering av objekt.
Attributet #[\NoDiscard]
Attributet #[\NoDiscard] varnar om returvärdet från en funktion ignoreras utan avsikt. Detta bidrar till ökad säkerhet i API:er. Om värdet medvetet ska ignoreras kan (void) användas.
Stöd för compile-time-uttryck
PHP 8.5 utökar stödet för uttryck som kan användas vid kompilering. Statiska closures och first-class-callables tillåts nu i konstanta uttryck, till exempel i attributparametrar, klasskonstanter och standardvärden på egenskaper.
Prestandaförbättringar med persistenta cURL-handel
Med curl_share_init_persistent() kan share-handles återanvändas mellan förfrågningar i långkörande applikationer. Detta minskar kostnaden för upprepade anslutningsinitieringar.
Nya hjälpfunktioner: array_first() och array_last()
De nya funktionerna array_first() och array_last() returnerar första respektive sista värdet i en array och ger null om arrayen är tom. Detta förenklar hantering tillsammans med null-sammansmältningsoperatorn.
Övriga förbättringar
- Stacktraces visas nu även vid fatala fel.
- Ny INI-inställning:
max_memory_limit. - Ny konstant:
PHP_BUILD_DATE. - Ny klass:
IntlListFormatter. - Nya funktioner:
get_exception_handler()ochget_error_handler(). - DOM får stöd för
getElementsByClassName()ochinsertAdjacentHTML(). - Ny funktion:
grapheme_levenshtein(). locale_is_right_to_left()ochLocale::isRightToLeft()för språkmedveten hantering.- Nytt CLI-kommando:
php --ini=diffför att visa icke-standardinställningar.
Föråldrade funktioner och beteenden
- Backtick-tecknet som alias för
shell_exec()deprekeras. - Icke-standardiserade namn vid typomvandling tas bort.
- Varningar införs vid omvandling från float till int.
- Begränsningar införs för användning av
nullsom arrayindex. __sleep()och__wakeup()mjuk-deprekeras till förmån för__serialize()och__unserialize().
Tillgänglighet
PHP 8.5 finns nu att ladda ner som källkod från den officiella webbplatsen och kommer inom kort till stabila paketrepositorier i vanliga Linux-distributioner. Mer information finns i de officiella release notes.
Sammanfattning
PHP 8.5 innebär en tydlig modernisering av språket. Pipe-operatorn och den förbättrade kloningssyntaxen gör koden mer läsbar och målinriktad. URI-extensionen ger exakt URL-hantering och prestandaförbättringarna stärker PHP som motor för långkörande applikationer. Med förbättrad felhantering och utökad syntax ökar även säkerheten och robustheten.
PHP fortsätter med denna version att utvecklas från ett traditionellt skriptspråk till ett modernt och kraftfullt programmeringsspråk.
https://www.php.net/downloads.php
Om php i vår wiki
https://wiki.linux.se/index.php/PHP
• Ny URI-extension för standardenliga URL-tolkningar
• Pipe-operatorn
|> för kedjade anrop• Förbättrad objektkloning med clone-with-syntax
• Attributet
#[\NoDiscard] varnar vid ignorerade returvärden• Nya funktioner:
array_first() och array_last()
