{"id":4962,"date":"2022-08-14T10:00:13","date_gmt":"2022-08-14T10:00:13","guid":{"rendered":"https:\/\/jchost.pl\/blog\/?p=4962"},"modified":"2023-10-06T12:28:06","modified_gmt":"2023-10-06T12:28:06","slug":"php-8-2-co-nowego-test-wydajnosci","status":"publish","type":"post","link":"https:\/\/jchost.pl\/blog\/php-8-2-co-nowego-test-wydajnosci\/","title":{"rendered":"PHP 8.2 \u2013 co nowego? Test wydajno\u015bci"},"content":{"rendered":"<!--themify_builder_content-->\n<div id=\"themify_builder_content-4962\" data-postid=\"4962\" class=\"themify_builder_content themify_builder_content-4962 themify_builder tf_clear\">\n                    <div  data-lazy=\"1\" class=\"module_row themify_builder_row tb_2tym437 tb_first tf_w\">\n                        <div class=\"row_inner col_align_top tb_col_count_1 tf_box tf_rel\">\n                        <div  data-lazy=\"1\" class=\"module_column tb-column col-full tb_r5qo438 first\">\n                    <!-- module text -->\n<div  class=\"module module-text tb_gvqi438  repeat \" data-lazy=\"1\">\n        <div  class=\"tb_text_wrap\">\n        <h1 style=\"text-align: center;\">PHP 8.2 \u2013 co nowego? Test wydajno\u015bci<\/h1>    <\/div>\n<\/div>\n<!-- \/module text -->        <\/div>\n                        <\/div>\n        <\/div>\n                        <div  data-lazy=\"1\" class=\"module_row themify_builder_row tb_nhtx437 tf_w\">\n                        <div class=\"row_inner col_align_top tb_col_count_3 tf_box tf_rel\">\n                        <div  data-lazy=\"1\" class=\"module_column tb-column col4-1 tb_uupb439 first\">\n                            <\/div>\n                    <div  data-lazy=\"1\" class=\"module_column tb-column col4-2 tb_di2d439\">\n                    <!-- module text -->\n<div  class=\"module module-text tb_n9r9439  repeat \" data-lazy=\"1\">\n        <div  class=\"tb_text_wrap\">\n        <h2 style=\"text-align: left; padding-top: 60px;\">PHP 8.2<\/h2>\n<p style=\"text-align: left;\">Jakkolwiek PHP 8.2 znajduje si\u0119 obecnie w wersji beta, a do pe\u0142nego wydania b\u0119dzie trzeba poczeka\u0107 do 24 listopada 2022 roku, to ju\u017c teraz cz\u0119\u015bciowo wiadomo, jakich mo\u017cna si\u0119 spodziewa\u0107 aktualizacji.<\/p>    <\/div>\n<\/div>\n<!-- \/module text --><!-- module image -->\n<div  class=\"module module-image tb_lqn8439 image-center rounded  tf_mw\" data-lazy=\"1\">\n        <div class=\"image-wrap tf_rel tf_mw\">\n            <img loading=\"lazy\" decoding=\"async\" width=\"879\" height=\"469\" src=\"https:\/\/jchost.pl\/blog\/wp-content\/uploads\/2022\/08\/futere.png\" class=\"wp-post-image wp-image-4963\" title=\"futere\" alt=\"Jakie zmiany zasz\u0142y w PHP 8.2 i czego nale\u017cy si\u0119 spodziewa\u0107?\" srcset=\"https:\/\/jchost.pl\/blog\/wp-content\/uploads\/2022\/08\/futere.png 879w, https:\/\/jchost.pl\/blog\/wp-content\/uploads\/2022\/08\/futere-300x160.png 300w, https:\/\/jchost.pl\/blog\/wp-content\/uploads\/2022\/08\/futere-768x410.png 768w\" sizes=\"auto, (max-width: 879px) 100vw, 879px\" \/>    \n        <\/div>\n    <!-- \/image-wrap -->\n    \n        <\/div>\n<!-- \/module image -->        <div  data-lazy=\"1\" class=\"module_subrow themify_builder_sub_row tf_w col_align_top tb_col_count_1 tb_ejfs440\">\n                <div  data-lazy=\"1\" class=\"module_column sub_column col-full tb_e4yb440 first\">\n                            <\/div>\n                    <\/div>\n        <!-- module text -->\n<div  class=\"module module-text tb_uh3h440  repeat \" data-lazy=\"1\">\n        <div  class=\"tb_text_wrap\">\n        <p style=\"text-align: left;\">I o ile poprzednia ods\u0142ona, om\u00f3wiona <a href=\"https:\/\/jchost.pl\/blog\/php-8-1-co-nowego-test-wydajnosci\/\" target=\"_blank\" rel=\"noopener\">tutaj<\/a>, wprowadza\u0142a kilka ciekawych opcji. O tyle PHP 8.2 miejscami mocno do niej nawi\u0105zuje, modyfikuj\u0105c lub optymalizuj\u0105c uprzednio dodane funkcjonalno\u015bci.<br><br>O tym oraz zaimplementowanych udogodnieniach, wycofaniach, przeprowadzonych korektach tudzie\u017c <b>parametrach <\/b>skupiaj\u0105cych si\u0119 wok\u00f3\u0142 nowej ods\u0142ony PHP 8.2 i jej <b>wydajno\u015bci<\/b> dowiesz si\u0119 z tego artyku\u0142u.<\/p>    <\/div>\n<\/div>\n<!-- \/module text -->        <div  data-lazy=\"1\" class=\"module_subrow themify_builder_sub_row tf_w col_align_top tb_col_count_1 tb_fozk440\">\n                <div  data-lazy=\"1\" class=\"module_column sub_column col-full tb_fskd440 first\">\n                            <\/div>\n                    <\/div>\n        <!-- module text -->\n<div  class=\"module module-text tb_5gt0440  repeat \" data-lazy=\"1\">\n        <div  class=\"tb_text_wrap\">\n        <h3 style=\"text-align: left;\">Wydajno\u015b\u0107 PHP 8.2 vs. 8.1 vs. 7.4 vs. 5.6<\/h3>\n<p style=\"text-align: left;\">Jako \u017ce grupa developer\u00f3w pracuj\u0105ca nad ewolucj\u0105 j\u0119zyka PHP zd\u0105\u017cy\u0142a ju\u017c przyzwyczai\u0107 u\u017cytkownik\u00f3w ko\u0144cowych do cyklicznego podbijania wska\u017anik\u00f3w efektywno\u015bci, nie odst\u0119puje od tego trendu i tym razem.<br><br>Co mo\u017cna zaobserwowa\u0107 na poni\u017cszym zestawieniu odznaczaj\u0105cym <b>wydajno\u015b\u0107<\/b> poszczeg\u00f3lnych wersji \u2013 w danym uj\u0119ciu: <b>PHP 8.2, 8.1, 7.4 i 5.6<\/b>:<\/p>    <\/div>\n<\/div>\n<!-- \/module text --><!-- module image -->\n<div  class=\"module module-image tb_oadq441 image-center rounded drop-shadow  tf_mw\" data-lazy=\"1\">\n        <div class=\"image-wrap tf_rel tf_mw\">\n            <img decoding=\"async\" src=\"https:\/\/jchost.pl\/blog\/wp-content\/uploads\/2022\/08\/wydajn.png\" alt=\"Jak prezentuje si\u0119 wydajno\u015b\u0107 nowej wersji PHP 8.2?\">    \n        <\/div>\n    <!-- \/image-wrap -->\n    \n        <\/div>\n<!-- \/module image -->        <div  data-lazy=\"1\" class=\"module_subrow themify_builder_sub_row tf_w col_align_top tb_col_count_1 tb_lmzs441\">\n                <div  data-lazy=\"1\" class=\"module_column sub_column col-full tb_htle441 first\">\n                            <\/div>\n                    <\/div>\n        <!-- module text -->\n<div  class=\"module module-text tb_qxub441  repeat \" data-lazy=\"1\">\n        <div  class=\"tb_text_wrap\">\n        <p style=\"text-align: left;\">Test zosta\u0142 przeprowadzony na serwerze <b>AMD Ryzen 9 5950X<\/b> przez zesp\u00f3\u0142 Phoronix.com i dotyczy og\u00f3lnego rezultatu benchmark PHPBench.<br><br><strong>Mo\u017cna z niego wywnioskowa\u0107, \u017ce wynik benchmark dla PHP 8.2 (w opcji dev) jest o:<\/strong><\/p>\n<ul style=\"text-align: left;\">\n<li style=\"text-align: left;\"><strong>2%<\/strong> wy\u017cszy od PHP 8.1.6;<\/li>\n<li style=\"text-align: left;\"><strong>43%<\/strong> wy\u017cszy od 7.4.22;<\/li>\n<li style=\"text-align: left;\"><strong>223%<\/strong> wy\u017cszy od PHP 5.6.40.<\/li>\n<\/ul>\n<p style=\"text-align: left;\">Oczywi\u015bcie w por\u00f3wnaniu z wydaniem PHP 8.1 nie uwydatnia si\u0119 tutaj zauwa\u017calna r\u00f3\u017cnica, jednak\u017ce warto pami\u0119ta\u0107, \u017ce do oficjalnego wypuszczenia nowej ods\u0142ony zosta\u0142a jeszcze okaza\u0142a chwila. A trend przewa\u017cnie jest wzrostowy.<\/p>    <\/div>\n<\/div>\n<!-- \/module text --><!-- module box -->\n<div  class=\"module module-box tb_e7ut441 \" data-lazy=\"1\">\n    <div class=\"module-box-content ui  yellow\">\n                <div class=\"tb_text_wrap\"><p style=\"text-align: left; margin-bottom: 0px;\"><strong>Warto wiedzie\u0107:<\/strong> Mimo i\u017c celem ka\u017cdej tego typu aktualizacji jest optymalizacja zasob\u00f3w oraz zwi\u0119kszenie wydajno\u015bci nale\u017cy mie\u0107 na uwadze, \u017ce niekoniecznie system plik\u00f3w strony musi by\u0107 z g\u00f3ry na dane zmiany gotowy.<br>W takiej sytuacji warto zosta\u0107 przy starszej, acz wsp\u00f3\u0142pracuj\u0105cej z ca\u0142\u0105 infrastruktur\u0105 witryny wersji.<\/p><\/div>\n    <\/div>\n<\/div>\n<!-- \/module box -->\n<!-- module box -->\n<div  class=\"module module-box tb_nesj441 \" data-lazy=\"1\">\n    <div class=\"module-box-content ui  orange\">\n                <div class=\"tb_text_wrap\"><p style=\"text-align: center; margin-bottom: 0px;\">Sprawd\u017a najszybszy na rynku <a style=\"color: #fff; font-weight: 600;\" href=\"https:\/\/jchost.pl\/hosting\/wordpress\/\" target=\"_blank\" rel=\"noopener\">hosting WordPress<\/a> oraz <a style=\"color: #fff; font-weight: 600;\" href=\"https:\/\/jchost.pl\/hosting\/magento\/\" target=\"_blank\" rel=\"noopener\">hosting Ecommerce<\/a> z PHP 8.2.<\/p><\/div>\n    <\/div>\n<\/div>\n<!-- \/module box -->\n        <div  data-lazy=\"1\" class=\"module_subrow themify_builder_sub_row tf_w col_align_top tb_col_count_1 tb_ai9b441\">\n                <div  data-lazy=\"1\" class=\"module_column sub_column col-full tb_dtlj441 first\">\n                            <\/div>\n                    <\/div>\n        <!-- module text -->\n<div  class=\"module module-text tb_ray6442  repeat \" data-lazy=\"1\">\n        <div  class=\"tb_text_wrap\">\n        <h3 style=\"text-align: left;\">Co nowego w PHP 8.2<\/h3>\n<p style=\"text-align: left;\">O ile wydanie PHP 8.2 nie jest or\u0119downikiem rewolucji, o tyle w pewnych miejscach mo\u017ce uda\u0107 mu si\u0119 namiesza\u0107, podczas gdy inne przestrzenie \u2013 wr\u0119cz przeciwnie \u2013 ca\u0142kiem lepiej zorganizuje.<\/p>    <\/div>\n<\/div>\n<!-- \/module text --><!-- module image -->\n<div  class=\"module module-image tb_c09i442 image-center rounded drop-shadow  tf_mw\" data-lazy=\"1\">\n        <div class=\"image-wrap tf_rel tf_mw\">\n            <img decoding=\"async\" src=\"https:\/\/jchost.pl\/blog\/wp-content\/uploads\/2022\/08\/co-nowego-1.png\" alt=\"Co nowego w PHP 8.2?\">    \n        <\/div>\n    <!-- \/image-wrap -->\n    \n        <\/div>\n<!-- \/module image -->        <div  data-lazy=\"1\" class=\"module_subrow themify_builder_sub_row tf_w col_align_top tb_col_count_1 tb_3nlj442\">\n                <div  data-lazy=\"1\" class=\"module_column sub_column col-full tb_gvc5442 first\">\n                            <\/div>\n                    <\/div>\n        <!-- module text -->\n<div  class=\"module module-text tb_hjee442  repeat \" data-lazy=\"1\">\n        <div  class=\"tb_text_wrap\">\n        <p style=\"text-align: left;\">I aby si\u0119 o tym przekona\u0107 warto zerkn\u0105\u0107 na spis wszystkich dodanych aktualizacji, jako \u017ce takowy bilans zosta\u0142 uwzgl\u0119dniony <a href=\"https:\/\/php.watch\/versions\/8.2\" target=\"_blank\" rel=\"noopener\">tutaj<\/a>.<br><br><\/p>    <\/div>\n<\/div>\n<!-- \/module text --><!-- module text -->\n<div  class=\"module module-text tb_t91i442  repeat \" data-lazy=\"1\">\n        <div  class=\"tb_text_wrap\">\n        <p style=\"text-align: left;\"><strong>Oto co nowego w PHP 8.2:<\/strong><\/p>    <\/div>\n<\/div>\n<!-- \/module text --><!-- module text -->\n<div  class=\"module module-text tb_vwp2442  repeat \" data-lazy=\"1\">\n        <div  class=\"tb_text_wrap\">\n        <h4 style=\"text-align: left; padding-top: 20px;\"><strong>Standalone Types (typy samodzielne)<\/strong><\/h4>\n<p style=\"text-align: left;\">O ile wydanie <a href=\"https:\/\/jchost.pl\/blog\/php-8\/\" target=\"_blank\" rel=\"noopener\">PHP 8.0<\/a> wprowadzi\u0142o tzw. Union Types umo\u017cliwiaj\u0105ce \u0142\u0105czenie typ\u00f3w, o tyle poni\u017csza opcja:<\/p>    <\/div>\n<\/div>\n<!-- \/module text -->        <div  data-lazy=\"1\" class=\"module_subrow themify_builder_sub_row tf_w col_align_top tb_col_count_1 tb_9g75442\">\n                <div  data-lazy=\"1\" class=\"module_column sub_column col-full tb_r5mz443 first\">\n                            <\/div>\n                    <\/div>\n        <!-- module text -->\n<div  class=\"module module-text tb_rlfr443   \" data-lazy=\"1\">\n        <div  class=\"tb_text_wrap\">\n        <pre class=\" language-php\"><code class=\" language-php\"><span class=\"token variable\">function alwaysTrue(): true\n{\n return true;\n} <\/span> <\/code><\/pre>\n    <\/div>\n<\/div>\n<!-- \/module text -->        <div  data-lazy=\"1\" class=\"module_subrow themify_builder_sub_row tf_w col_align_top tb_col_count_1 tb_cjqj443\">\n                <div  data-lazy=\"1\" class=\"module_column sub_column col-full tb_fuu3443 first\">\n                            <\/div>\n                    <\/div>\n        <!-- module text -->\n<div  class=\"module module-text tb_lwe2443  repeat \" data-lazy=\"1\">\n        <div  class=\"tb_text_wrap\">\n        <p style=\"text-align: left;\">Dopuszcza zwr\u00f3cenie ich separatywnie. A dok\u0142adniej tych oznaczonych jako: <code>true<\/code>, <code>false<\/code> i <code>null<\/code>. Modyfikacja ta ma pozwoli\u0107 na precyzyjne deklarowanie typ\u00f3w, w\u0142a\u015bciwo\u015bci b\u0105d\u017a parametr\u00f3w.<\/p>\n    <\/div>\n<\/div>\n<!-- \/module text --><!-- module text -->\n<div  class=\"module module-text tb_6z4v443  repeat \" data-lazy=\"1\">\n        <div  class=\"tb_text_wrap\">\n        <h4 style=\"text-align: left; padding-top: 30px;\"><strong>Readonly classes (klasy tylko do odczytu)<\/strong><\/h4>\n<p style=\"text-align: left;\">Innym odwo\u0142aniem do wcze\u015bniejszych implementacji jest dodanie w PHP 8.2 poni\u017cszego modyfikatora celem oznaczenia ca\u0142ej klasy.<\/p>\n<pre class=\" language-php\"><code class=\" language-php\"><span class=\"token variable\">readonly class MyValueObject {\n public string $myValue;\n} <\/span> <\/code><\/pre>\n<p style=\"text-align: left; padding-top: 20px;\">A nie jak uprzednio (w wersji PHP 8.1), samych jej w\u0142a\u015bciwo\u015bci. Pozwala to na odg\u00f3rne ustawienie wszystkich parametr\u00f3w, a zdefiniowanych wcze\u015bniej, od razu w opcji wy\u0142\u0105cznie do odczytu. Co umo\u017cliwia r\u00f3wnie\u017c redukcj\u0119 kodu i prostszy zapis.<\/p>    <\/div>\n<\/div>\n<!-- \/module text --><!-- module text -->\n<div  class=\"module module-text tb_t8ju443  repeat \" data-lazy=\"1\">\n        <div  class=\"tb_text_wrap\">\n        <h4 style=\"text-align: left; padding-top: 30px;\"><strong>AllowDynamicProperties Attribute (atrybut pozwalaj\u0105cy na dynamiczne w\u0142a\u015bciwo\u015bci)<\/strong><\/h4>\n<p style=\"text-align: left;\">Jako \u017ce omawiana aktualizacja wycofuje w\u0142a\u015bciwo\u015bci dynamiczne, a wraz z wydaniem PHP 9.0 ich u\u017cycie b\u0119dzie powi\u0105zane z pojawieniem si\u0119 wyj\u0105tku: <code>ErrorException<\/code>.<\/p>\n<pre class=\" language-php\"><code class=\" language-php\"><span class=\"token variable\">#[AllowDynamicProperties]\n class User() {}\n $user = new User();\n $user-&gt;foo = 'bar';<\/span> <\/code><\/pre>\n<p style=\"text-align: left; padding-top: 20px;\">PHP 8.2 wprowadza atrybut: <code>AllowDynamicProperties<\/code> umo\u017cliwiaj\u0105cy usuni\u0119cie komunikatu z ostrze\u017ceniem: <code>E_DEPRECATED<\/code> oraz wykorzystanie parametru w skorelowanej klasie. To ostatnie stanie si\u0119 mo\u017cliwe po zadeklarowaniu wskazanej dyrektywy.<\/p>    <\/div>\n<\/div>\n<!-- \/module text --><!-- module text -->\n<div  class=\"module module-text tb_boz6443  repeat \" data-lazy=\"1\">\n        <div  class=\"tb_text_wrap\">\n        <h4 style=\"padding-top: 30px; text-align: left;\"><strong>Disjunctive Normal Form Types (typy DNF)<\/strong><\/h4>\n<p style=\"text-align: left;\">Dodanie powy\u017cszej funkcjonalno\u015bci daje szans\u0119 powi\u0105zania Union i Intersection Types. Przyk\u0142ad zak\u0142ada, \u017ce zdefiniowane zosta\u0142y poni\u017csze interfejsy i klasy:<\/p>\n<pre class=\" language-php\"><code class=\" language-php\"><span class=\"token variable\">interface A {}\ninterface B {}\ninterface C extends A {}\ninterface D {}\n\nclass W implements A {}\nclass X implements B {}\nclass Y implements A, B {}\nclass Z extends Y implements C {}<\/span> <\/code><\/pre>\n<p style=\"text-align: left; padding-top: 25px;\">W\u00f3wczas:<\/p>\n<pre class=\" language-php\"><code class=\" language-php\"><span class=\"token variable\">\/\/ Accepts an object that implements both A and B,\n\/\/ OR an object that implements D\n(A&amp;B)|D\n\n\/\/ Accepts an object that implements C, \n\/\/ OR a child of X that also implements D,\n\/\/ OR null\nC|(X&amp;D)|null\n\n\/\/ Accepts an object that implements all three of A, B, and D, \n\/\/ OR an int, \n\/\/ OR null.\n(A&amp;B&amp;D)|int|null<\/span> <\/code><\/pre>\n<p style=\"text-align: left; padding-top: 25px;\">Funkcjonalno\u015b\u0107 b\u0119dzie dzia\u0142a\u0107, o ile Intersection Types zostan\u0105 zgrupowane w nawiasie.<\/p>\n    <\/div>\n<\/div>\n<!-- \/module text --><!-- module text -->\n<div  class=\"module module-text tb_8mh6444  repeat \" data-lazy=\"1\">\n        <div  class=\"tb_text_wrap\">\n        <h4 style=\"text-align: left; padding-top: 30px;\"><strong>Fetch properties of enums in const expressions (pobieranie w\u0142a\u015bciwo\u015bci enum\u00f3w w wyra\u017ceniach sta\u0142ych)<\/strong><\/h4>\n<p style=\"text-align: left;\">Od wersji PHP 8.2 u\u017cycie: <code>-&gt;\/?-&gt;<\/code> celem pobrania w\u0142a\u015bciwo\u015bci enum w wyra\u017ceniach sta\u0142ych stanie si\u0119 mo\u017cliwe.<\/p>\n<pre class=\" language-php\"><code class=\" language-php\"><span class=\"token variable\">enum A: string {\n case B = 'B';\n \/\/ This is currently not permitted\n const C = [self::B-&gt;value =&gt; self::B];\n}<\/span> <\/code><\/pre>\n<p style=\"text-align: left; padding-top: 20px;\">Zmiana zosta\u0142a wprowadzona, aby u\u0142atwi\u0107 uzyskanie nazwy i warto\u015bci w miejscach, w kt\u00f3rych obiekty enum s\u0105 niedozwolone.<\/p>\n    <\/div>\n<\/div>\n<!-- \/module text --><!-- module text -->\n<div  class=\"module module-text tb_6gqx444  repeat \" data-lazy=\"1\">\n        <div  class=\"tb_text_wrap\">\n        <h4 style=\"padding-top: 40px; text-align: left;\"><strong>Sensitive Parameter value redaction (redakcja parametr\u00f3w wzgl\u0119dem wra\u017cliwych warto\u015bci)<\/strong><\/h4>\n<p style=\"text-align: left;\">Aby uniemo\u017cliwi\u0107 podanie identyfikuj\u0105cych u\u017cytkownika informacji w momencie wyst\u0105pienia b\u0142\u0119du tycz\u0105cego si\u0119, np. nieprawid\u0142owo\u015bci w strukturze i funkcjonowaniu kodu, takich jak has\u0142o b\u0105d\u017a nazwa konta, w PHP 8.2 mo\u017cna je odznaczy\u0107 atrybutem:<\/p>\n<pre class=\" language-php\"><code class=\" language-php\"><span class=\"token variable\">function test(\n    $foo,\n    #[\\SensitiveParameter] $bar,\n    $baz\n) {\n    throw new \\Exception('Error');\n}\n \ntest('foo', 'bar', 'baz');\n \n\/*\nFatal error: Uncaught Exception: Error in test.php:8\nStack trace:\n#0 test.php(11): test('foo', Object(SensitiveParameterValue), 'baz')\n#1 {main}\n  thrown in test.php on line 8\n*\/<\/span> <\/code><\/pre>\n<p style=\"text-align: left; padding-top: 15px;\">Dzi\u0119ki czemu nie zostan\u0105 one uwidocznione. A wi\u0119c wra\u017cliwa warto\u015b\u0107 nie przejawi si\u0119 w \u015bladzie stosu.<\/p>    <\/div>\n<\/div>\n<!-- \/module text -->        <div  data-lazy=\"1\" class=\"module_subrow themify_builder_sub_row tf_w col_align_top tb_col_count_1 tb_vlz4444\">\n                <div  data-lazy=\"1\" class=\"module_column sub_column col-full tb_afbb444 first\">\n                            <\/div>\n                    <\/div>\n        <!-- module text -->\n<div  class=\"module module-text tb_2ezu444  repeat \" data-lazy=\"1\">\n        <div  class=\"tb_text_wrap\">\n        <h3 style=\"text-align: left;\">Dodatkowe zmiany i nowe funkcjonalno\u015bci<\/h3>\n<p style=\"text-align: left;\">PHP 8.2 opr\u00f3cz powy\u017cszych modyfikacji wycofuje niekt\u00f3re uj\u0119cia lub wprowadza szereg drobniejszych. W odniesieniu do obecnego wydania, to ostatnie, ma miejsce zw\u0142aszcza w przypadku funkcji.<\/p>    <\/div>\n<\/div>\n<!-- \/module text --><!-- module image -->\n<div  class=\"module module-image tb_19eq444 image-center rounded drop-shadow  tf_mw\" data-lazy=\"1\">\n        <div class=\"image-wrap tf_rel tf_mw\">\n            <img decoding=\"async\" src=\"https:\/\/jchost.pl\/blog\/wp-content\/uploads\/2022\/08\/nowe-funkcje-2.png\" alt=\"Jak wygl\u0105da nowa wersja j\u0119zyka PHP?\">    \n        <\/div>\n    <!-- \/image-wrap -->\n    \n        <\/div>\n<!-- \/module image -->        <div  data-lazy=\"1\" class=\"module_subrow themify_builder_sub_row tf_w col_align_top tb_col_count_1 tb_n49u444\">\n                <div  data-lazy=\"1\" class=\"module_column sub_column col-full tb_ug4w444 first\">\n                            <\/div>\n                    <\/div>\n        <!-- module text -->\n<div  class=\"module module-text tb_fatu445  repeat \" data-lazy=\"1\">\n        <div  class=\"tb_text_wrap\">\n        <p style=\"text-align: left;\">Tych dodano ca\u0142kiem sporo, tote\u017c cz\u0119\u015b\u0107 z nich istotnie om\u00f3wimy.<\/p>\n<p style=\"text-align: left;\"><strong><br \/>\nOto, jakie funkcjonalno\u015bci pojawi\u0142y si\u0119 w PHP 8.2: <\/strong><\/p>\n<ul style=\"text-align: left;\">\n<li>nowa funkcja: <code>mysqli_execute_query<\/code> oraz metoda:<br \/>\n<code>mysqli::execute_query<\/code> pozwol\u0105 na \u0142atwiejsze przygotowanie i pobieranie wynik\u00f3w z bazy SQL;<\/li>\n<li>zaimplementowanie funkcji: <code>curl_upkeep<\/code> do rozszerzenia Curl wywo\u0142a: <code>curl_easy_upkeep()<\/code> i umo\u017cliwi podtrzymanie po\u0142\u0105czenia. Opcja b\u0119dzie dzia\u0142a\u0107 w przypadku, gdy rozszerzenie Curl jest skompilowane z libcurl (wersja 7.62 lub nowsza);<\/li>\n<li>uwzgl\u0119dniono dodatkowe wsparcie dla funkcji: <code>curl_getinfo<\/code>.<br \/>\nPodanie sta\u0142ej: <code>CURLINFO_EFFECTIVE_METHOD<\/code> zezwoli na pobranie warto\u015bci <code>effective_method<\/code> zawieraj\u0105cej nazw\u0119 efektywnej metody \u017c\u0105dania HTTP;<\/li>\n<li>funkcja: <code>memory_reset_peak_usage<\/code> w PHP 8.2 umo\u017cliwi resetowanie szczytowego u\u017cycia pami\u0119ci zwr\u00f3conego przez: <code>memory_get_peak_usage<\/code>;<\/li>\n<li><code>ini_parse_quantity<\/code> b\u0119dzie przetwarza\u0107 tak, jak dotychczas rozmiar danych w pliku PHP INI, acz zwr\u00f3ci go w bajtach;<\/li>\n<li>dodano wsparcie dla modyfikatora: <code>\/n<\/code> (no capture) w funkcjach: <code>preg_*<\/code>.<\/li>\n<\/ul>\n<p style=\"text-align: left;\"><strong><br \/>\nOto, jakie aspekty wycofano w wersji PHP 8.2:<\/strong><\/p>\n<ul style=\"text-align: left;\">\n<li>dynamiczne ustawianie warto\u015bci dla niezadeklarowanej w\u0142a\u015bciwo\u015bci klasy;<\/li>\n<li>rozszerzenie Mbstring umo\u017cliwiaj\u0105ce kodowanie lub dekodowanie \u0142a\u0144cuch\u00f3w do Base64, Quoted-Printable, Uuencode oraz HTML Entities;<\/li>\n<li>niekt\u00f3re wzorce <code>callables<\/code> niedzia\u0142aj\u0105ce z <code>$callable()<\/code>;<\/li>\n<li>funkcje: <code>utf8_encode<\/code> i <code>utf8_decode<\/code> maj\u0105ce na celu konwersj\u0119 zasob\u00f3w mi\u0119dzy kodowaniem ISO-8859-1 i UTF-8;<\/li>\n<li>lokowanie znaku: <code>${}<\/code> (dolara) poza nawiasem klamrowym w przypadku osadzania zmiennych w \u0142a\u0144cuchach.<\/li>\n<\/ul>\n<p style=\"text-align: left;\"><strong><br \/>\nOto, jakie inne zmiany zasz\u0142y w PHP 8.2:<\/strong><\/p>\n<ul>\n<li style=\"text-align: left;\">usuni\u0119to wsparcie dla kompilacji rozszerzenia mysqli z libmysql;<\/li>\n<li style=\"text-align: left;\">od teraz mo\u017cna stosowa\u0107 sta\u0142e w cechach;<\/li>\n<li style=\"text-align: left;\"><code>strtolower()<\/code> i <code>strtoupper()<\/code> nie s\u0105 ju\u017c wra\u017cliwe na lokalizacj\u0119.<\/li>\n<\/ul>\n    <\/div>\n<\/div>\n<!-- \/module text -->        <div  data-lazy=\"1\" class=\"module_subrow themify_builder_sub_row tf_w col_align_top tb_col_count_1 tb_dlg0445\">\n                <div  data-lazy=\"1\" class=\"module_column sub_column col-full tb_w05s445 first\">\n                            <\/div>\n                    <\/div>\n        <!-- module text -->\n<div  class=\"module module-text tb_8ohd445  repeat \" data-lazy=\"1\">\n        <div  class=\"tb_text_wrap\">\n        <h3 style=\"text-align: left;\">Jak ustawi\u0107 dowoln\u0105 wersj\u0119 PHP?<\/h3>\n<p style=\"text-align: left;\" align=\"LEFT\">Zmiany w tym zakresie mo\u017cesz dokona\u0107 za pomoc\u0105 paru klikni\u0119\u0107 w panelu hostingu. W tym celu sp\u00f3jrz na kroki odznaczone poni\u017cej.<\/p>    <\/div>\n<\/div>\n<!-- \/module text --><!-- module box -->\n<div  class=\"module module-box tb_ppnk445 \" data-lazy=\"1\">\n    <div class=\"module-box-content ui  yellow\">\n                <div class=\"tb_text_wrap\"><p style=\"text-align: left; margin-bottom: 0px;\"><strong>Warto wiedzie\u0107:<\/strong> Modyfikacja danego ustawienia mo\u017ce wi\u0105za\u0107 si\u0119 z niestabilno\u015bci\u0105 zasob\u00f3w, je\u015bli system plik\u00f3w strony oka\u017ce si\u0119 w jakim\u015b uj\u0119ciu niekompatybilny z aktualizacj\u0105. W danej sytuacji problem mo\u017cna rozwi\u0105za\u0107 poprzez wr\u00f3cenie do starszej wersji j\u0119zyka PHP.<\/p><\/div>\n    <\/div>\n<\/div>\n<!-- \/module box -->\n        <div  data-lazy=\"1\" class=\"module_subrow themify_builder_sub_row tf_w col_align_top tb_col_count_1 tb_obkw445\">\n                <div  data-lazy=\"1\" class=\"module_column sub_column col-full tb_chqu445 first\">\n                            <\/div>\n                    <\/div>\n        <!-- module text -->\n<div  class=\"module module-text tb_igsf445  repeat \" data-lazy=\"1\">\n        <div  class=\"tb_text_wrap\">\n        <h4 style=\"text-align: left;\"><strong>Krok 1<\/strong><\/h4>\n<p style=\"text-align: left;\">Zaloguj si\u0119 do panelu hostingu i przejd\u017a do zak\u0142adki: <strong>\u201eDodatkowe funkcje\u201d<\/strong>. Tutaj wybierz: <strong>\u201eSelect PHP version\u201d<\/strong>.<\/p>    <\/div>\n<\/div>\n<!-- \/module text --><!-- module image -->\n<div  class=\"module module-image tb_34ns446 image-center rounded drop-shadow  tf_mw\" data-lazy=\"1\">\n        <div class=\"image-wrap tf_rel tf_mw\">\n            <img decoding=\"async\" src=\"https:\/\/jchost.pl\/blog\/wp-content\/uploads\/2021\/09\/1-foter.png\" alt=\"Jak zaktualizowa\u0107 wersj\u0119 PHP?\">    \n        <\/div>\n    <!-- \/image-wrap -->\n    \n        <\/div>\n<!-- \/module image -->        <div  data-lazy=\"1\" class=\"module_subrow themify_builder_sub_row tf_w col_align_top tb_col_count_1 tb_2rq7446\">\n                <div  data-lazy=\"1\" class=\"module_column sub_column col-full tb_yujy446 first\">\n                            <\/div>\n                    <\/div>\n        <!-- module text -->\n<div  class=\"module module-text tb_4952446  repeat \" data-lazy=\"1\">\n        <div  class=\"tb_text_wrap\">\n        <h4 style=\"text-align: left;\"><strong>Krok 2<\/strong><\/h4>\n<p style=\"text-align: left;\">W sekcji: <strong>\u201eBie\u017c\u0105ca wersja PHP\u201d<\/strong> kliknij pole z rozwijaln\u0105 list\u0105 opcji, a nast\u0119pnie wybierz po\u017c\u0105dane ustawienie. Zatwierd\u017a operacj\u0119, pos\u0142uguj\u0105c si\u0119 przyciskiem: <strong>\u201eUstaw jako bie\u017c\u0105c\u0105\u201d<\/strong>.<\/p>    <\/div>\n<\/div>\n<!-- \/module text --><!-- module image -->\n<div  class=\"module module-image tb_07oh446 image-center rounded drop-shadow  tf_mw\" data-lazy=\"1\">\n        <div class=\"image-wrap tf_rel tf_mw\">\n            <img decoding=\"async\" src=\"https:\/\/jchost.pl\/blog\/wp-content\/uploads\/2021\/09\/2-foter.png\" alt=\"Zmiana wersji PHP\">    \n        <\/div>\n    <!-- \/image-wrap -->\n    \n        <\/div>\n<!-- \/module image -->        <div  data-lazy=\"1\" class=\"module_subrow themify_builder_sub_row tf_w col_align_top tb_col_count_1 tb_wz0t446\">\n                <div  data-lazy=\"1\" class=\"module_column sub_column col-full tb_p7gl446 first\">\n                            <\/div>\n                    <\/div>\n        <!-- module text -->\n<div  class=\"module module-text tb_hdkl446  repeat \" data-lazy=\"1\">\n        <div  class=\"tb_text_wrap\">\n        <h3 style=\"text-align: left;\">Podsumowanie<\/h3>\n<p style=\"text-align: left;\">Jakkolwiek PHP 8.2 nie jest jeszcze ostateczn\u0105 kompilacj\u0105, tak wraz z pocz\u0105tkiem wrze\u015bnia bie\u017c\u0105cego periodu wejdzie w ostatni\u0105 faz\u0119 rozwoju w ramach tzw. Release Candidate. Co oznacza sze\u015b\u0107 nast\u0119puj\u0105cych po sobie w cyklu dwutygodniowym tur zmian i poprawek, kt\u00f3re wraz z ko\u0144cem listopada przynios\u0105 finaln\u0105 wersj\u0119.<br><br>\u015acie\u017ck\u0119 post\u0119pu tego procesu mo\u017cna przenikn\u0105\u0107 na oficjalnej stronie <a href=\"https:\/\/wiki.php.net\/todo\/php82\" target=\"_blank\" rel=\"noopener\">wiki \u2013 PHP 8.2<\/a>.<\/p>    <\/div>\n<\/div>\n<!-- \/module text --><!-- module text -->\n<div  class=\"module module-text tb_cklt446  repeat \" data-lazy=\"1\">\n        <div  class=\"tb_text_wrap\">\n        <p>\u00a0<\/p>\n<p>\u00a0<\/p>\n<p>\u00a0<\/p>\n<p>\u00a0<\/p>    <\/div>\n<\/div>\n<!-- \/module text --><!-- module box -->\n<div  class=\"module module-box tb_uc6j446 \" data-lazy=\"1\">\n    <div class=\"module-box-content ui  light-green\">\n                <div class=\"tb_text_wrap\"><p>Odbieramy telefony, odpisujemy na maile, nie ukrywamy koszt\u00f3w, a dodatkowo oferujemy najszybsze pakiety hostingowe na rynku. Uwa\u017casz, \u017ce to zwroty marketingowe? Sprawd\u017a sam\/a!<\/p>\n<p>Je\u015bli nie b\u0119dziesz zadowolony\/a, zwr\u00f3cimy Ci pieni\u0105dze.<br \/><strong>Twoje strony i sklepy przeniesiemy za darmo!<\/strong><\/p>\n<p><a style=\"color: #fff; font-weight: 600;\" href=\"https:\/\/jchost.pl\/hosting\/wordpress\/\" target=\"_blank\" rel=\"noopener\">Hosting WordPress<\/a> &#8211; <a style=\"color: #fff; font-weight: 600;\" href=\"https:\/\/jchost.pl\/hosting\/magento\/\" target=\"_blank\" rel=\"noopener\">Hosting Magento<\/a><\/p><\/div>\n    <\/div>\n<\/div>\n<!-- \/module box -->\n<!-- module box -->\n<div  class=\"module module-box tb_hup1447 \" data-lazy=\"1\">\n    <div class=\"module-box-content ui  tb_default_color\">\n                <div class=\"tb_text_wrap\"><p>Je\u017celi masz jakiekolwiek pytania, skontaktuj si\u0119 z nami! <a href=\"https:\/\/www.jchost.pl\/clients\/submitticket\/\" target=\"_blank\" rel=\"noopener\">Kliknij tutaj<\/a>.<\/p>\n<p>Chcesz dowiedzie\u0107 si\u0119 o nas troch\u0119 wi\u0119cej? Przejd\u017a na <a href=\"https:\/\/www.jchost.pl\/\" target=\"_blank\" rel=\"noopener\">stron\u0119 JCHost.pl<\/a>.<\/p><\/div>\n    <\/div>\n<\/div>\n<!-- \/module box -->\n        <\/div>\n                    <div  data-lazy=\"1\" class=\"module_column tb-column col4-1 tb_0q7p447 last\">\n                            <\/div>\n                        <\/div>\n        <\/div>\n        <\/div>\n<!--\/themify_builder_content-->","protected":false},"excerpt":{"rendered":"<p>PHP 8.2 \u2013 co nowego? Test wydajno\u015bci PHP 8.2 Jakkolwiek PHP 8.2 znajduje si\u0119 obecnie w wersji beta, a do pe\u0142nego wydania b\u0119dzie trzeba poczeka\u0107 do 24 listopada 2022 roku, to ju\u017c teraz cz\u0119\u015bciowo wiadomo, jakich mo\u017cna si\u0119 spodziewa\u0107 aktualizacji. I o ile poprzednia ods\u0142ona, om\u00f3wiona tutaj, wprowadza\u0142a kilka ciekawych opcji. O tyle PHP 8.2 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":4963,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-4962","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized","has-post-title","has-post-date","has-post-category","has-post-tag","has-post-comment","has-post-author",""],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>PHP 8.2 \u2013 co nowego? Test wydajno\u015bci - Blog o hostingu i dla hostingu<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/jchost.pl\/blog\/php-8-2-co-nowego-test-wydajnosci\/\" \/>\n<meta property=\"og:locale\" content=\"pl_PL\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"PHP 8.2 \u2013 co nowego? Test wydajno\u015bci - Blog o hostingu i dla hostingu\" \/>\n<meta property=\"og:description\" content=\"PHP 8.2 \u2013 co nowego? Test wydajno\u015bci PHP 8.2 Jakkolwiek PHP 8.2 znajduje si\u0119 obecnie w wersji beta, a do pe\u0142nego wydania b\u0119dzie trzeba poczeka\u0107 do 24 listopada 2022 roku, to ju\u017c teraz cz\u0119\u015bciowo wiadomo, jakich mo\u017cna si\u0119 spodziewa\u0107 aktualizacji. I o ile poprzednia ods\u0142ona, om\u00f3wiona tutaj, wprowadza\u0142a kilka ciekawych opcji. O tyle PHP 8.2 [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/jchost.pl\/blog\/php-8-2-co-nowego-test-wydajnosci\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog o hostingu i dla hostingu\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/jchostpl\/\" \/>\n<meta property=\"article:published_time\" content=\"2022-08-14T10:00:13+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-10-06T12:28:06+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/jchost.pl\/blog\/wp-content\/uploads\/2022\/08\/futere.png\" \/>\n\t<meta property=\"og:image:width\" content=\"879\" \/>\n\t<meta property=\"og:image:height\" content=\"469\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Ekipa\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Napisane przez\" \/>\n\t<meta name=\"twitter:data1\" content=\"Ekipa\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/jchost.pl\\\/blog\\\/php-8-2-co-nowego-test-wydajnosci\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/jchost.pl\\\/blog\\\/php-8-2-co-nowego-test-wydajnosci\\\/\"},\"author\":{\"name\":\"Ekipa\",\"@id\":\"https:\\\/\\\/jchost.pl\\\/blog\\\/#\\\/schema\\\/person\\\/5c0718f08eb37ba283bce590a6a97475\"},\"headline\":\"PHP 8.2 \u2013 co nowego? Test wydajno\u015bci\",\"datePublished\":\"2022-08-14T10:00:13+00:00\",\"dateModified\":\"2023-10-06T12:28:06+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/jchost.pl\\\/blog\\\/php-8-2-co-nowego-test-wydajnosci\\\/\"},\"wordCount\":1286,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/jchost.pl\\\/blog\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/jchost.pl\\\/blog\\\/php-8-2-co-nowego-test-wydajnosci\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/jchost.pl\\\/blog\\\/wp-content\\\/uploads\\\/2022\\\/08\\\/futere.png\",\"articleSection\":[\"Uncategorized\"],\"inLanguage\":\"pl-PL\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/jchost.pl\\\/blog\\\/php-8-2-co-nowego-test-wydajnosci\\\/\",\"url\":\"https:\\\/\\\/jchost.pl\\\/blog\\\/php-8-2-co-nowego-test-wydajnosci\\\/\",\"name\":\"PHP 8.2 \u2013 co nowego? Test wydajno\u015bci - Blog o hostingu i dla hostingu\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/jchost.pl\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/jchost.pl\\\/blog\\\/php-8-2-co-nowego-test-wydajnosci\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/jchost.pl\\\/blog\\\/php-8-2-co-nowego-test-wydajnosci\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/jchost.pl\\\/blog\\\/wp-content\\\/uploads\\\/2022\\\/08\\\/futere.png\",\"datePublished\":\"2022-08-14T10:00:13+00:00\",\"dateModified\":\"2023-10-06T12:28:06+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/jchost.pl\\\/blog\\\/php-8-2-co-nowego-test-wydajnosci\\\/#breadcrumb\"},\"inLanguage\":\"pl-PL\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/jchost.pl\\\/blog\\\/php-8-2-co-nowego-test-wydajnosci\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pl-PL\",\"@id\":\"https:\\\/\\\/jchost.pl\\\/blog\\\/php-8-2-co-nowego-test-wydajnosci\\\/#primaryimage\",\"url\":\"https:\\\/\\\/jchost.pl\\\/blog\\\/wp-content\\\/uploads\\\/2022\\\/08\\\/futere.png\",\"contentUrl\":\"https:\\\/\\\/jchost.pl\\\/blog\\\/wp-content\\\/uploads\\\/2022\\\/08\\\/futere.png\",\"width\":879,\"height\":469},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/jchost.pl\\\/blog\\\/php-8-2-co-nowego-test-wydajnosci\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Strona g\u0142\u00f3wna\",\"item\":\"https:\\\/\\\/jchost.pl\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"PHP 8.2 \u2013 co nowego? Test wydajno\u015bci\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/jchost.pl\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/jchost.pl\\\/blog\\\/\",\"name\":\"Blog o hostingu i dla hostingu\",\"description\":\"Blog hostingowy dla ka\u017cdego!\",\"publisher\":{\"@id\":\"https:\\\/\\\/jchost.pl\\\/blog\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/jchost.pl\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pl-PL\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/jchost.pl\\\/blog\\\/#organization\",\"name\":\"blog.jchost.pl\",\"url\":\"https:\\\/\\\/jchost.pl\\\/blog\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pl-PL\",\"@id\":\"https:\\\/\\\/jchost.pl\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/jchost.pl\\\/blog\\\/wp-content\\\/uploads\\\/2017\\\/11\\\/blog-hostingowy-logo-JCHost.jpg\",\"contentUrl\":\"https:\\\/\\\/jchost.pl\\\/blog\\\/wp-content\\\/uploads\\\/2017\\\/11\\\/blog-hostingowy-logo-JCHost.jpg\",\"width\":229,\"height\":80,\"caption\":\"blog.jchost.pl\"},\"image\":{\"@id\":\"https:\\\/\\\/jchost.pl\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/jchostpl\\\/\",\"https:\\\/\\\/www.youtube.com\\\/channel\\\/UC6myB18cMX1a5bAJ6WChQPw\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/jchost.pl\\\/blog\\\/#\\\/schema\\\/person\\\/5c0718f08eb37ba283bce590a6a97475\",\"name\":\"Ekipa\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pl-PL\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/6b555ed5d05df6e3eab514d0387177f840ba1c281811baacd9c8f74fb1a0661d?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/6b555ed5d05df6e3eab514d0387177f840ba1c281811baacd9c8f74fb1a0661d?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/6b555ed5d05df6e3eab514d0387177f840ba1c281811baacd9c8f74fb1a0661d?s=96&d=mm&r=g\",\"caption\":\"Ekipa\"},\"url\":\"https:\\\/\\\/jchost.pl\\\/blog\\\/author\\\/admin\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"PHP 8.2 \u2013 co nowego? Test wydajno\u015bci - Blog o hostingu i dla hostingu","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:\/\/jchost.pl\/blog\/php-8-2-co-nowego-test-wydajnosci\/","og_locale":"pl_PL","og_type":"article","og_title":"PHP 8.2 \u2013 co nowego? Test wydajno\u015bci - Blog o hostingu i dla hostingu","og_description":"PHP 8.2 \u2013 co nowego? Test wydajno\u015bci PHP 8.2 Jakkolwiek PHP 8.2 znajduje si\u0119 obecnie w wersji beta, a do pe\u0142nego wydania b\u0119dzie trzeba poczeka\u0107 do 24 listopada 2022 roku, to ju\u017c teraz cz\u0119\u015bciowo wiadomo, jakich mo\u017cna si\u0119 spodziewa\u0107 aktualizacji. I o ile poprzednia ods\u0142ona, om\u00f3wiona tutaj, wprowadza\u0142a kilka ciekawych opcji. O tyle PHP 8.2 [&hellip;]","og_url":"https:\/\/jchost.pl\/blog\/php-8-2-co-nowego-test-wydajnosci\/","og_site_name":"Blog o hostingu i dla hostingu","article_publisher":"https:\/\/www.facebook.com\/jchostpl\/","article_published_time":"2022-08-14T10:00:13+00:00","article_modified_time":"2023-10-06T12:28:06+00:00","og_image":[{"width":879,"height":469,"url":"https:\/\/jchost.pl\/blog\/wp-content\/uploads\/2022\/08\/futere.png","type":"image\/png"}],"author":"Ekipa","twitter_card":"summary_large_image","twitter_misc":{"Napisane przez":"Ekipa"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/jchost.pl\/blog\/php-8-2-co-nowego-test-wydajnosci\/#article","isPartOf":{"@id":"https:\/\/jchost.pl\/blog\/php-8-2-co-nowego-test-wydajnosci\/"},"author":{"name":"Ekipa","@id":"https:\/\/jchost.pl\/blog\/#\/schema\/person\/5c0718f08eb37ba283bce590a6a97475"},"headline":"PHP 8.2 \u2013 co nowego? Test wydajno\u015bci","datePublished":"2022-08-14T10:00:13+00:00","dateModified":"2023-10-06T12:28:06+00:00","mainEntityOfPage":{"@id":"https:\/\/jchost.pl\/blog\/php-8-2-co-nowego-test-wydajnosci\/"},"wordCount":1286,"commentCount":0,"publisher":{"@id":"https:\/\/jchost.pl\/blog\/#organization"},"image":{"@id":"https:\/\/jchost.pl\/blog\/php-8-2-co-nowego-test-wydajnosci\/#primaryimage"},"thumbnailUrl":"https:\/\/jchost.pl\/blog\/wp-content\/uploads\/2022\/08\/futere.png","articleSection":["Uncategorized"],"inLanguage":"pl-PL"},{"@type":"WebPage","@id":"https:\/\/jchost.pl\/blog\/php-8-2-co-nowego-test-wydajnosci\/","url":"https:\/\/jchost.pl\/blog\/php-8-2-co-nowego-test-wydajnosci\/","name":"PHP 8.2 \u2013 co nowego? Test wydajno\u015bci - Blog o hostingu i dla hostingu","isPartOf":{"@id":"https:\/\/jchost.pl\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/jchost.pl\/blog\/php-8-2-co-nowego-test-wydajnosci\/#primaryimage"},"image":{"@id":"https:\/\/jchost.pl\/blog\/php-8-2-co-nowego-test-wydajnosci\/#primaryimage"},"thumbnailUrl":"https:\/\/jchost.pl\/blog\/wp-content\/uploads\/2022\/08\/futere.png","datePublished":"2022-08-14T10:00:13+00:00","dateModified":"2023-10-06T12:28:06+00:00","breadcrumb":{"@id":"https:\/\/jchost.pl\/blog\/php-8-2-co-nowego-test-wydajnosci\/#breadcrumb"},"inLanguage":"pl-PL","potentialAction":[{"@type":"ReadAction","target":["https:\/\/jchost.pl\/blog\/php-8-2-co-nowego-test-wydajnosci\/"]}]},{"@type":"ImageObject","inLanguage":"pl-PL","@id":"https:\/\/jchost.pl\/blog\/php-8-2-co-nowego-test-wydajnosci\/#primaryimage","url":"https:\/\/jchost.pl\/blog\/wp-content\/uploads\/2022\/08\/futere.png","contentUrl":"https:\/\/jchost.pl\/blog\/wp-content\/uploads\/2022\/08\/futere.png","width":879,"height":469},{"@type":"BreadcrumbList","@id":"https:\/\/jchost.pl\/blog\/php-8-2-co-nowego-test-wydajnosci\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Strona g\u0142\u00f3wna","item":"https:\/\/jchost.pl\/blog\/"},{"@type":"ListItem","position":2,"name":"PHP 8.2 \u2013 co nowego? Test wydajno\u015bci"}]},{"@type":"WebSite","@id":"https:\/\/jchost.pl\/blog\/#website","url":"https:\/\/jchost.pl\/blog\/","name":"Blog o hostingu i dla hostingu","description":"Blog hostingowy dla ka\u017cdego!","publisher":{"@id":"https:\/\/jchost.pl\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/jchost.pl\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pl-PL"},{"@type":"Organization","@id":"https:\/\/jchost.pl\/blog\/#organization","name":"blog.jchost.pl","url":"https:\/\/jchost.pl\/blog\/","logo":{"@type":"ImageObject","inLanguage":"pl-PL","@id":"https:\/\/jchost.pl\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/jchost.pl\/blog\/wp-content\/uploads\/2017\/11\/blog-hostingowy-logo-JCHost.jpg","contentUrl":"https:\/\/jchost.pl\/blog\/wp-content\/uploads\/2017\/11\/blog-hostingowy-logo-JCHost.jpg","width":229,"height":80,"caption":"blog.jchost.pl"},"image":{"@id":"https:\/\/jchost.pl\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/jchostpl\/","https:\/\/www.youtube.com\/channel\/UC6myB18cMX1a5bAJ6WChQPw"]},{"@type":"Person","@id":"https:\/\/jchost.pl\/blog\/#\/schema\/person\/5c0718f08eb37ba283bce590a6a97475","name":"Ekipa","image":{"@type":"ImageObject","inLanguage":"pl-PL","@id":"https:\/\/secure.gravatar.com\/avatar\/6b555ed5d05df6e3eab514d0387177f840ba1c281811baacd9c8f74fb1a0661d?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/6b555ed5d05df6e3eab514d0387177f840ba1c281811baacd9c8f74fb1a0661d?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/6b555ed5d05df6e3eab514d0387177f840ba1c281811baacd9c8f74fb1a0661d?s=96&d=mm&r=g","caption":"Ekipa"},"url":"https:\/\/jchost.pl\/blog\/author\/admin\/"}]}},"_links":{"self":[{"href":"https:\/\/jchost.pl\/blog\/wp-json\/wp\/v2\/posts\/4962","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/jchost.pl\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/jchost.pl\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/jchost.pl\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/jchost.pl\/blog\/wp-json\/wp\/v2\/comments?post=4962"}],"version-history":[{"count":3,"href":"https:\/\/jchost.pl\/blog\/wp-json\/wp\/v2\/posts\/4962\/revisions"}],"predecessor-version":[{"id":5236,"href":"https:\/\/jchost.pl\/blog\/wp-json\/wp\/v2\/posts\/4962\/revisions\/5236"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/jchost.pl\/blog\/wp-json\/wp\/v2\/media\/4963"}],"wp:attachment":[{"href":"https:\/\/jchost.pl\/blog\/wp-json\/wp\/v2\/media?parent=4962"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jchost.pl\/blog\/wp-json\/wp\/v2\/categories?post=4962"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jchost.pl\/blog\/wp-json\/wp\/v2\/tags?post=4962"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}