{"id":15836,"date":"2026-02-25T09:24:53","date_gmt":"2026-02-25T08:24:53","guid":{"rendered":"https:\/\/dhosting.pl\/pomoc\/?post_type=manual_kb&#038;p=15836"},"modified":"2026-02-25T09:30:46","modified_gmt":"2026-02-25T08:30:46","slug":"zalety-i-poprawki-w-php-w-wersji-8-5","status":"publish","type":"manual_kb","link":"https:\/\/dhosting.pl\/pomoc\/baza-wiedzy\/zalety-i-poprawki-w-php-w-wersji-8-5\/","title":{"rendered":"Zalety i poprawki w PHP w wersji 8.5"},"content":{"rendered":"<p>PHP 8.5 wprowadza pipe operator, rozszerzenie URI oraz funkcje array_first() i array_last(), kt\u00f3re u\u0142atwiaj\u0105 codzienne programowanie. Ta wersja poprawia czytelno\u015b\u0107 kodu, prac\u0119 z URL-ami i debugowanie, oferuj\u0105c te\u017c optymalizacje wydajno\u015bci oraz deprecjacje zb\u0119dnych element\u00f3w. Dzi\u0119ki tym zmianom mo\u017cesz pisa\u0107 prostszy i szybszy kod dla swoich stron.<\/p>\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_82_2 ez-toc-wrap-left counter-flat ez-toc-counter ez-toc-custom ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Spis tre\u015bci<\/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'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/dhosting.pl\/pomoc\/baza-wiedzy\/zalety-i-poprawki-w-php-w-wersji-8-5\/#Nowe_funkcje_i_ulepszenia\" >Nowe funkcje i ulepszenia<\/a><\/li><li class='ez-toc-page-1'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/dhosting.pl\/pomoc\/baza-wiedzy\/zalety-i-poprawki-w-php-w-wersji-8-5\/#Deprecjacje_i_poprawki\" >Deprecjacje i poprawki<\/a><\/li><\/ul><\/nav><\/div>\n<h2><span class=\"ez-toc-section\" id=\"Nowe_funkcje_i_ulepszenia\"><\/span>Nowe funkcje i ulepszenia<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<h3>Pipe operator |&gt;<\/h3>\n<p>Pipe operator |&gt;, d\u0142ugo wyczekiwany przez programist\u00f3w PHP, umo\u017cliwia \u0142a\u0144cuchowe wywo\u0142ywanie funkcji od lewej do prawej bez tworzenia zmiennych po\u015brednich. Zamiast pisa\u0107 zagnie\u017cd\u017cone wywo\u0142ania jak <strong>strtolower(str_replace(&#8216; &#8216;, &#8216;-&#8216;, trim($title)))<\/strong>, wystarczy <strong>$title |&gt; trim($$) |&gt; str_replace(&#8216; &#8216;, &#8216;-&#8216;, $$) |&gt; strtolower($$)<\/strong>. Dzi\u0119ki temu kod staje si\u0119 czytelniejszy i \u0142atwiejszy w utrzymaniu, szczeg\u00f3lnie przy skomplikowanych operacjach na danych.<\/p>\n<h3>Rozszerzenie URI<\/h3>\n<p>PHP 8.5 wzbogaca si\u0119 o wbudowane rozszerzenie URI do parsowania i normalizacji adres\u00f3w URL zgodnych z RFC 3986 oraz WHATWG URL. Mo\u017cesz teraz bezpiecznie obs\u0142ugiwa\u0107 linki bez dodatkowych bibliotek, na przyk\u0142ad u\u017cywaj\u0105c klasy Uri\\Rfc3986\\Uri do wyci\u0105gni\u0119cia hosta z adresu &#8216;https:\/\/php.net&#8217;. To znacznie upraszcza prac\u0119 z adresami w aplikacjach internetowych i zmniejsza ryzyko b\u0142\u0119d\u00f3w.<\/p>\n<h3>Funkcje array_first() i array_last()<\/h3>\n<p>Nowe funkcje array_first() i array_last() pozwalaj\u0105 szybko pobra\u0107 pierwszy lub ostatni element tablicy, zwracaj\u0105c null, gdy tablica jest pusta. Zamiast kombinowa\u0107 z array_key_last() czy end(), po prostu u\u017cywasz array_last($events). Te proste dodatki oszcz\u0119dzaj\u0105 czas i porz\u0105dkuj\u0105 kod przy pracy z listami danych.<\/p>\n<h3>Atrybut #[\\\\NoDiscard]<\/h3>\n<p>Atrybut #[\\\\NoDiscard] generuje ostrze\u017cenie, gdy pomijasz warto\u015b\u0107 zwrotn\u0105 funkcji, co pomaga unika\u0107 pomy\u0142ek w API. Na przyk\u0142ad funkcja getPhpVersion() z tym atrybutem wygeneruje warning, je\u015bli nie wykorzystasz jej wyniku, chyba \u017ce \u015bwiadomie u\u017cyjesz (void)getPhpVersion(). To narz\u0119dzie poprawia jako\u015b\u0107 i bezpiecze\u0144stwo twojego kodu.<\/p>\n<h3>Klonowanie z modyfikacj\u0105 w\u0142a\u015bciwo\u015bci<\/h3>\n<p>Mo\u017cesz teraz klonowa\u0107 obiekt i od razu zmienia\u0107 wybrane w\u0142a\u015bciwo\u015bci, przekazuj\u0105c tablic\u0119 asocjacyjn\u0105 do clone(), jak clone($this, [&#8216;alpha&#8217; =&gt; $alpha]). Rozwi\u0105zanie idealnie pasuje do klas readonly i upraszcza wzorzec &#8220;with-er&#8221; bez kopiowania danych r\u0119cznie. Wcze\u015bniej wymaga\u0142o to dodatkowej logiki w metodach typu withAlpha().<\/p>\n<h3>Funkcje get_error_handler() i get_exception_handler()<\/h3>\n<p>Funkcje get_error_handler() i get_exception_handler() pozwalaj\u0105 sprawdzi\u0107 aktualne obs\u0142ugiwarki b\u0142\u0119d\u00f3w i wyj\u0105tk\u00f3w w trakcie dzia\u0142ania programu. U\u0142atwiaj\u0105 debugowanie i zrozumienie zachowania aplikacji. Dodatkowo wspieraj\u0105 stack trace dla b\u0142\u0119d\u00f3w fatalnych, przyspieszaj\u0105c rozwi\u0105zywanie problem\u00f3w.<\/p>\n<h3>Inne przydatne dodatki<\/h3>\n<p>PHP 8.5 dodaje sta\u0142e PHP_BUILD_DATE i PHP_BUILD_PROVIDER do kontroli daty kompilacji, opcj\u0119 CLI php &#8211;ini=diff wy\u015bwietlaj\u0105c\u0105 zmiany w ustawieniach INI oraz funkcj\u0119 locale_is_right_to_left() dla j\u0119zyk\u00f3w pisanych od prawej do lewej, jak arabski. Funkcja curl_multi_get_handles() pomaga zarz\u0105dza\u0107 sesjami cURL, a persistentne handle cURL przyspieszaj\u0105 inicjalizacj\u0119.<\/p>\n<div id=\"dhost-277274756\" class=\"dhost-inpost dhost-entity-placement\"><a href=\"https:\/\/dhosting.pl\/opieka-stron.html?utm_source=pomoc&utm_medium=artykul&utm_campaign=pomoc\" target=\"_blank\">\r\n\t<img decoding=\"async\" src=\"https:\/\/dhosting.pl\/pomoc\/wp-content\/uploads\/2025\/01\/baner-opieka.png\" alt=\"opieka stron www\">\r\n<\/a>\r\n<br \/>\r\n<br \/><\/div><h2><span class=\"ez-toc-section\" id=\"Deprecjacje_i_poprawki\"><\/span>Deprecjacje i poprawki<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>W PHP 8.5 ko\u0144czy si\u0119 wsparcie dla starych rzutowa\u0144 typu (boolean) czy (integer) \u2013 korzystaj z (bool) i (int). Zdeprecjonowano funkcje takie jak curl_close(), xml_parser_free() czy socket_set_timeout(), kt\u00f3re sta\u0142y si\u0119 zb\u0119dne. Usuni\u0119to dyrektyw\u0119 disable_classes w INI, a konstrukcja case w switch wymaga teraz dwukropka. Te zmiany porz\u0105dkuj\u0105 j\u0119zyk i szykuj\u0105 grunt pod kolejne wersje.<\/p>\n","protected":false},"author":6,"featured_media":10957,"parent":0,"menu_order":0,"template":"","format":"standard","manualknowledgebasecat":[95,104,3801],"manual_kb_tag":[5600,6886,6888,6889,6883,6881,6882,6887,6885,6884],"class_list":["post-15836","manual_kb","type-manual_kb","status-publish","format-standard","has-post-thumbnail","hentry","manualknowledgebasecat-hosting","manualknowledgebasecat-operacje-php","manualknowledgebasecat-serwery","manual_kb_tag-aktualizacja-php","manual_kb_tag-array_first-php","manual_kb_tag-deprecjacje-php-8-5","manual_kb_tag-hosting-php-8-5","manual_kb_tag-nowe-funkcje-php-8-5","manual_kb_tag-php-8-5","manual_kb_tag-pipe-operator-php","manual_kb_tag-poprawki-php-8-5","manual_kb_tag-uri-extension-php","manual_kb_tag-zalety-php-8-5"],"_links":{"self":[{"href":"https:\/\/dhosting.pl\/pomoc\/wp-json\/wp\/v2\/manual_kb\/15836","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/dhosting.pl\/pomoc\/wp-json\/wp\/v2\/manual_kb"}],"about":[{"href":"https:\/\/dhosting.pl\/pomoc\/wp-json\/wp\/v2\/types\/manual_kb"}],"author":[{"embeddable":true,"href":"https:\/\/dhosting.pl\/pomoc\/wp-json\/wp\/v2\/users\/6"}],"version-history":[{"count":3,"href":"https:\/\/dhosting.pl\/pomoc\/wp-json\/wp\/v2\/manual_kb\/15836\/revisions"}],"predecessor-version":[{"id":15839,"href":"https:\/\/dhosting.pl\/pomoc\/wp-json\/wp\/v2\/manual_kb\/15836\/revisions\/15839"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/dhosting.pl\/pomoc\/wp-json\/wp\/v2\/media\/10957"}],"wp:attachment":[{"href":"https:\/\/dhosting.pl\/pomoc\/wp-json\/wp\/v2\/media?parent=15836"}],"wp:term":[{"taxonomy":"manualknowledgebasecat","embeddable":true,"href":"https:\/\/dhosting.pl\/pomoc\/wp-json\/wp\/v2\/manualknowledgebasecat?post=15836"},{"taxonomy":"manual_kb_tag","embeddable":true,"href":"https:\/\/dhosting.pl\/pomoc\/wp-json\/wp\/v2\/manual_kb_tag?post=15836"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}