{"id":4868,"date":"2021-09-10T09:48:13","date_gmt":"2021-09-10T09:48:13","guid":{"rendered":"https:\/\/jchost.pl\/blog\/?p=4868"},"modified":"2022-10-20T08:06:57","modified_gmt":"2022-10-20T08:06:57","slug":"php-8-1-co-nowego-test-wydajnosci","status":"publish","type":"post","link":"https:\/\/jchost.pl\/blog\/php-8-1-co-nowego-test-wydajnosci\/","title":{"rendered":"PHP 8.1 \u2013 co nowego? Test wydajno\u015bci"},"content":{"rendered":"<!--themify_builder_content-->\n<div id=\"themify_builder_content-4868\" data-postid=\"4868\" class=\"themify_builder_content themify_builder_content-4868 themify_builder tf_clear\">\n                    <div  data-lazy=\"1\" class=\"module_row themify_builder_row tb_v8xx327 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_pyet327 first\">\n                    <!-- module text -->\n<div  class=\"module module-text tb_al8r327  repeat \" data-lazy=\"1\">\n        <div  class=\"tb_text_wrap\">\n        <h1 style=\"text-align: center;\">PHP 8.1 \u2013 co nowego? Zmiany i 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_almj327 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_opa6328 first\">\n                            <\/div>\n                    <div  data-lazy=\"1\" class=\"module_column tb-column col4-2 tb_njw3328\">\n                    <!-- module text -->\n<div  class=\"module module-text tb_kik1328  repeat \" data-lazy=\"1\">\n        <div  class=\"tb_text_wrap\">\n        <h2 style=\"text-align: left; padding-top: 60px;\">PHP 8.1<\/h2>\n<p style=\"text-align: left;\">Mimo i\u017c PHP 8.1 nie doczeka\u0142o si\u0119 jeszcze oficjalnego wydania, a aby zapozna\u0107 si\u0119 z pe\u0142nym zakresem mo\u017cliwo\u015bci, jakie zostan\u0105 zaproponowane, b\u0119dzie trzeba poczeka\u0107 do 25 listopada 2021 roku. Tak ju\u017c teraz mamy do dyspozycji szereg konkretnych ciekawostek, dzi\u0119ki kt\u00f3rym strona WWW zyska na operatywno\u015bci.<\/p>    <\/div>\n<\/div>\n<!-- \/module text --><!-- module image -->\n<div  class=\"module module-image tb_po3x328 image-center rounded  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\/featured-image.png\" alt=\"Jak wygl\u0105da nowa wersja PHP 8.1?\">    \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_ni82328\">\n                <div  data-lazy=\"1\" class=\"module_column sub_column col-full tb_g9og328 first\">\n                            <\/div>\n                    <\/div>\n        <!-- module text -->\n<div  class=\"module module-text tb_mxcz328  repeat \" data-lazy=\"1\">\n        <div  class=\"tb_text_wrap\">\n        <p style=\"text-align: left;\">I o ile dotycz\u0105 one nowo wprowadzonych funkcji oraz dodatkowych udogodnie\u0144, tak nie nale\u017cy zapomina\u0107, i\u017c ka\u017cda aktualizacja PHP wi\u0105\u017ce si\u0119, r\u00f3wnie\u017c z eliminacj\u0105 b\u0142\u0119d\u00f3w, zwi\u0119kszeniem stabilno\u015bci kodu, poprawkami dotycz\u0105cymi bezpiecze\u0144stwa oraz oczywi\u015bcie z kolejnym krokiem w stron\u0119 lepszej wydajno\u015bci.<br><br>Ta ostatnia dla wielu w\u0142a\u015bcicieli adres\u00f3w WWW jest przewa\u017cnie najwa\u017cniejsza. Tote\u017c przy okazji odpowiedzi na pytanie: \u201eCo nowego w PHP 8.1?\u201d, skupimy si\u0119 na tym aspekcie w pierwszej kolejno\u015bci.<\/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_jdjy328\">\n                <div  data-lazy=\"1\" class=\"module_column sub_column col-full tb_4zxa329 first\">\n                            <\/div>\n                    <\/div>\n        <!-- module text -->\n<div  class=\"module module-text tb_g7ss329  repeat \" data-lazy=\"1\">\n        <div  class=\"tb_text_wrap\">\n        <h3 style=\"text-align: left;\">Wydajno\u015b\u0107\u00a0<strong>PHP 8.1<\/strong> vs. 8.0 vs. <strong>7.4 <\/strong>vs. 7.1 vs. 5.6<\/h3>\n<p style=\"text-align: left;\">Jak mo\u017cna zauwa\u017cy\u0107, por\u00f3wnuj\u0105c poszczeg\u00f3lne aktualizacje, g\u0142\u00f3wnym za\u0142o\u017ceniem grupy programist\u00f3w czuwaj\u0105cych nad wdra\u017caniem nowych ods\u0142on PHP jest ich jak najwi\u0119ksza u\u017cyteczno\u015b\u0107.<br>Co wida\u0107 na wykresach wydajno\u015bci, kt\u00f3re, dzi\u0119ki zespo\u0142owi phoronix.com, pozwalaj\u0105 t\u0119 zale\u017cno\u015b\u0107 obserwowa\u0107 raz za razem na podstawie wynik\u00f3w benchmark PHPBench:<\/p>    <\/div>\n<\/div>\n<!-- \/module text --><!-- module image -->\n<div  class=\"module module-image tb_a7fj329 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\/big-imager.png\" alt=\"Jak wygl\u0105da wydajno\u015b\u0107 PHP w wersji 8.1?\">    \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_iddd329\">\n                <div  data-lazy=\"1\" class=\"module_column sub_column col-full tb_fkwa329 first\">\n                            <\/div>\n                    <\/div>\n        <!-- module text -->\n<div  class=\"module module-text tb_adwd329  repeat \" data-lazy=\"1\">\n        <div  class=\"tb_text_wrap\">\n        <p style=\"text-align: left;\">Przytoczony wy\u017cej test zosta\u0142 przeprowadzony na serwerze AMD EPYC 7543. A tak\u017ce zestawia uprzednie wersje PHP: 8.0, 7.4, 7.1, 5.6 oraz 8.1.<\/p>\n<p style=\"text-align: left;\"><strong>Badanie to wskazuje, i\u017c wynik benchmark dla PHP 8.1 (wydanie Alpha) jest o:<br><\/strong><\/p>\n<ul style=\"text-align: left;\">\n<li><strong>3%<\/strong> wy\u017cszy od PHP 8.0;<\/li>\n<li><strong>12%<\/strong> wy\u017cszy od PHP 7.4;<\/li>\n<li><strong>33%<\/strong> wy\u017cszy od 7.1;<\/li>\n<li><strong>154%<\/strong> wy\u017cszy od PHP 5.6.<\/li>\n<\/ul>\n<p style=\"text-align: left;\">Ten pomiar, mimo nieznacznych r\u00f3\u017cnic w korelacji do niedawnych wersji, wci\u0105\u017c, jednak <strong>eksponuje kierunek wzrostowy<\/strong>. Co dla ka\u017cdego w\u0142a\u015bciciela bloga lub e-sklepu b\u0119dzie oznacza\u0107 szybsze \u0142adowanie si\u0119 zasob\u00f3w witryny.<\/p>    <\/div>\n<\/div>\n<!-- \/module text --><!-- module box -->\n<div  class=\"module module-box tb_c5ze329 \" 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> O ile aktualizacja PHP ma na celu zwi\u0119kszenie wydajno\u015bci, nale\u017cy pami\u0119ta\u0107, \u017ce sama strona niekoniecznie musi by\u0107 na tak\u0105 ewentualno\u015b\u0107 przygotowana. A taki stan rzeczy mo\u017ce mie\u0107, np. miejsce, gdy korzystasz z dedykowanych i nieprzystosowanych do nowego wydania wtyczek.<\/p><\/div>\n    <\/div>\n<\/div>\n<!-- \/module box -->\n<!-- module box -->\n<div  class=\"module module-box tb_qn1h329 \" 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.1.<\/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_wlbl329\">\n                <div  data-lazy=\"1\" class=\"module_column sub_column col-full tb_spg7329 first\">\n                            <\/div>\n                    <\/div>\n        <!-- module text -->\n<div  class=\"module module-text tb_ivdp329  repeat \" data-lazy=\"1\">\n        <div  class=\"tb_text_wrap\">\n        <h3 style=\"text-align: left;\">Co nowego w PHP 8.1<\/h3>\n<p style=\"text-align: left;\">I o ile PHP w wersji 8.0 wcale nie by\u0142a ma\u0142\u0105 aktualizacj\u0105, tak nie mo\u017cna powiedzie\u0107, \u017ce PHP 8.1 w czym\u015b uprzedniemu wydaniu ust\u0119puje.<\/p>    <\/div>\n<\/div>\n<!-- \/module text --><!-- module image -->\n<div  class=\"module module-image tb_ylgk330 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\/co-nowego.png\" alt=\"PHP 8.1 a nowe funkcjonalno\u015bci\">    \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_sk5z330\">\n                <div  data-lazy=\"1\" class=\"module_column sub_column col-full tb_sakl330 first\">\n                            <\/div>\n                    <\/div>\n        <!-- module text -->\n<div  class=\"module module-text tb_fjsp330  repeat \" data-lazy=\"1\">\n        <div  class=\"tb_text_wrap\">\n        <p style=\"text-align: left;\">O czym mo\u017cna przekona\u0107 si\u0119, przechodz\u0105c na stron\u0119: <a href=\"https:\/\/php.watch\/versions\/8.1\" target=\"_blank\" rel=\"noopener\">Wydanie PHP 8.1<\/a>. Gdzie opublikowano pe\u0142n\u0105 list\u0119 proponowanych rozwi\u0105za\u0144.<\/p>\n<p style=\"text-align: left;\">I poniewa\u017c zawiera ona kilka interesuj\u0105cych pozycji, cz\u0119\u015b\u0107 z nich faktycznie om\u00f3wimy.<\/p>    <\/div>\n<\/div>\n<!-- \/module text --><!-- module text -->\n<div  class=\"module module-text tb_y5jh330  repeat \" data-lazy=\"1\">\n        <div  class=\"tb_text_wrap\">\n        <p style=\"text-align: left;\"><strong>Oto co nowego w PHP 8.1:<\/strong><\/p>    <\/div>\n<\/div>\n<!-- \/module text --><!-- module text -->\n<div  class=\"module module-text tb_xxrd330  repeat \" data-lazy=\"1\">\n        <div  class=\"tb_text_wrap\">\n        <h4 style=\"text-align: left; padding-top: 20px;\"><strong>Enums (enumeracja)<\/strong><\/h4>\n<p style=\"text-align: left;\">Enums to zdefiniowane przez u\u017cytkownika typy danych posiadaj\u0105ce okre\u015blon\u0105 z g\u00f3ry liczb\u0119 warto\u015bci.<\/p>\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_96kd330\">\n                <div  data-lazy=\"1\" class=\"module_column sub_column col-full tb_0ik1330 first\">\n                            <\/div>\n                    <\/div>\n        <!-- module text -->\n<div  class=\"module module-text tb_xqm6330   \" data-lazy=\"1\">\n        <div  class=\"tb_text_wrap\">\n        <pre class=\" language-php\"><code class=\" language-php\"><span class=\"token variable\">  enum Suit {\n    case Clubs;\n    case Diamonds;\n    case Hearts;\n    case Spades;\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_ixd8330\">\n                <div  data-lazy=\"1\" class=\"module_column sub_column col-full tb_axbb330 first\">\n                            <\/div>\n                    <\/div>\n        <!-- module text -->\n<div  class=\"module module-text tb_d5f9331  repeat \" data-lazy=\"1\">\n        <div  class=\"tb_text_wrap\">\n        <p style=\"text-align: left;\">Jest to, wi\u0119c typ wyliczeniowy z\u0142o\u017cony z nazwy oraz listy potencjalnych stan\u00f3w (case), do kt\u00f3rych odwo\u0142amy si\u0119 w razie ch\u0119ci otrzymania okre\u015blonego rezultatu.<\/p>\n<p style=\"text-align: left;\">Enums to, tak\u017ce najbardziej wyczekiwana ciekawostka w nowym wydaniu PHP 8.1.<\/p>    <\/div>\n<\/div>\n<!-- \/module text --><!-- module text -->\n<div  class=\"module module-text tb_ing6331  repeat \" data-lazy=\"1\">\n        <div  class=\"tb_text_wrap\">\n        <h4 style=\"text-align: left; padding-top: 30px;\"><strong>Readonly Properties (w\u0142a\u015bciwo\u015bci tylko do odczytu)<\/strong><\/h4>\n<p style=\"text-align: left;\">Modyfikator <code>readonly<\/code> b\u0119dzie od teraz dost\u0119pny we w\u0142a\u015bciwo\u015bciach klas.<\/p>\n<pre class=\" language-php\"><code class=\" language-php\"><span class=\"token variable\">class Test {\n    public readonly string $jchost;\n \n    public function __construct(string $jchost) {\n       \n        $this-&gt;jchost = $jchost;\n    }\n} <\/span> <\/code><\/pre>\n<p style=\"text-align: left; padding-top: 20px;\">W\u0142a\u015bciwo\u015b\u0107 oznaczona jako <code>readonly<\/code> b\u0119dzie mog\u0142a by\u0107 zainaugurowana wy\u0142\u0105cznie raz. A jakakolwiek p\u00f3\u017aniejsza zmiana warto\u015bci nie b\u0119dzie mo\u017cliwa oraz poskutkuje wywo\u0142aniem b\u0142\u0119du.<\/p>\n<h4 style=\"text-align: left; padding-top: 40px;\"><strong>Never return type (typ bezzwrotny)<\/strong><\/h4>\n<p style=\"text-align: left;\">Typ <code>never<\/code> dodany w funkcji nie pozwoli zwr\u00f3ci\u0107 warto\u015bci, a tak\u017ce zg\u0142osi wyj\u0105tek oraz zatrzyma dalsze wykonywanie kodu.<\/p>\n<pre class=\" language-php\"><code class=\" language-php\"><span class=\"token variable\">function redirect(string $url): never {\n    header('Location: ' . $url);\n    exit();\n} <\/span> <\/code><\/pre>\n<p style=\"text-align: left; padding-top: 20px;\">W odr\u00f3\u017cnieniu od zbli\u017conego typu <code>void<\/code>, kt\u00f3ry nie przekazuje niczego, typ \u201enigdy\u201d uniemo\u017cliwi zadeklarowanie czegokolwiek wskutek wej\u015bcia w tryb nieko\u0144cz\u0105cej si\u0119 p\u0119tli, lub w rezultacie zako\u0144czenia procesowania skryptu.<\/p>\n<h4 style=\"text-align: left; padding-top: 30px;\"><strong>Funkcja: array_is_list<\/strong><\/h4>\n<p style=\"text-align: left;\">Powy\u017csza funkcja zwraca w\u0142asno\u015b\u0107 <code>true<\/code>, je\u015bli dana tablica jest uporz\u0105dkowan\u0105 list\u0105 warto\u015bci, a wszystkie obecne w niej klucze s\u0105 liczbami ca\u0142kowitymi zaczynaj\u0105cymi si\u0119 od 0.<\/p>\n<pre class=\" language-php\"><code class=\" language-php\"><span class=\"token variable\">array_is_list([]); \/\/ true\narray_is_list([1, 2, 3]); \/\/ true\narray_is_list(['apple', 2, 3]); \/\/ true\narray_is_list(['apple', 'orange']); \/\/ true\narray_is_list([0 =&gt; 'apple', 'orange']); \/\/ true\narray_is_list([0 =&gt; 'apple', 1 =&gt; 'orange']); \/\/ true<\/span> <\/code><\/pre>\n<p style=\"text-align: left; padding-top: 20px;\">Taki rezultat b\u0119dzie odnosi\u0107 si\u0119, r\u00f3wnie\u017c do tablic niezawieraj\u0105cych \u017cadnych zdefiniowanych parametr\u00f3w.<\/p>\n<h4 style=\"text-align: left; padding-top: 30px;\"><strong>Intersection Types (typy po\u0142\u0105cze\u0144)<\/strong><\/h4>\n<p style=\"text-align: left;\">Typy po\u0142\u0105cze\u0144 umo\u017cliwi\u0105 zadeklarowanie typu dla parametr\u00f3w\/w\u0142a\u015bciwo\u015bci, wymuszaj\u0105c przynale\u017cno\u015b\u0107 warto\u015bci do wszystkich uwzgl\u0119dnionych typ\u00f3w klas\/interfejs\u00f3w.<\/p>\n<pre class=\" language-php\"><code class=\" language-php\"><span class=\"token variable\">function count_and_iterate(Iterator&amp;\\Countable $value) {\n    foreach($value as $val) {}\n    count($value);\n}<\/span> <\/code><\/pre>\n<p style=\"text-align: left; padding-top: 20px;\">Intersection Types jest, wi\u0119c swoistym zaprzeczeniem dla uprzednio omawianych Union Types, z kt\u00f3rymi mo\u017cesz zapozna\u0107 si\u0119 tutaj: <a href=\"https:\/\/jchost.pl\/blog\/php-8\/\" target=\"_blank\" rel=\"noopener\">PHP 8 \u2013 co nowego (wydajno\u015b\u0107)<\/a>. A kt\u00f3re dopuszczaj\u0105 wyst\u0105pienie dowolnego z podanych typ\u00f3w.<\/p>\n<h4 style=\"text-align: left; padding-top: 30px;\"><strong>Fibers (bloki kodu)<\/strong><\/h4>\n<p style=\"text-align: left;\">Fiber to blok kodu (posiadaj\u0105cy okre\u015blony stan i zmienne), kt\u00f3ry mo\u017ce by\u0107 uruchamiany, zawieszany i wznawiany samorzutnie lub przez podstawowy skrypt.<\/p>\n<pre class=\" language-php\"><code class=\" language-php\"><span class=\"token variable\">new Fiber('var_dump');\nnew Fiber(fn(string $message) =&gt; print $message);\nnew Fiber(function(string $message): void {\n    print $message;\n});<\/span> <\/code><\/pre>\n<p style=\"text-align: left; padding-top: 20px;\">Omawiane bloki nie s\u0105 inicjowane r\u00f3wnolegle wzgl\u0119dem g\u0142\u00f3wnego kodu, a asynchronicznie. Co oznacza, i\u017c Fiber mo\u017ce by\u0107 wyegzekwowany w dowolnym momencie, zamiast nadrz\u0119dnego skryptu.<\/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_ls7v331\">\n                <div  data-lazy=\"1\" class=\"module_column sub_column col-full tb_99fg331 first\">\n                            <\/div>\n                    <\/div>\n        <!-- module text -->\n<div  class=\"module module-text tb_b8br331  repeat \" data-lazy=\"1\">\n        <div  class=\"tb_text_wrap\">\n        <h3 style=\"text-align: left;\">Dodatkowe zmiany i nowe funkcje<\/h3>\n<p style=\"text-align: left;\">Ka\u017cdorazowa aktualizacja j\u0119zyka PHP, opr\u00f3cz zapowiedzi nowych funkcjonalno\u015bci niesie za sob\u0105, r\u00f3wnie\u017c szereg modyfikacji oraz ulepsze\u0144.<\/p>    <\/div>\n<\/div>\n<!-- \/module text --><!-- module image -->\n<div  class=\"module module-image tb_5rp5331 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\/inne-zmiany.png\" alt=\"Czego mo\u017cna spodziewa\u0107 si\u0119 po nowym wydaniu 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_61rq331\">\n                <div  data-lazy=\"1\" class=\"module_column sub_column col-full tb_fpci331 first\">\n                            <\/div>\n                    <\/div>\n        <!-- module text -->\n<div  class=\"module module-text tb_s0fr331  repeat \" data-lazy=\"1\">\n        <div  class=\"tb_text_wrap\">\n        <p style=\"text-align: left;\">One, r\u00f3wnie\u017c mog\u0105 przyczyni\u0107 si\u0119 do poprawy wydajno\u015bci. W zwi\u0105zku, z czym warto dowiedzie\u0107 si\u0119 na ich temat ciut wi\u0119cej.<\/p>\n<p style=\"text-align: left;\"><strong>Oto, jakie zmiany zasz\u0142y w PHP 8.1:<\/strong><\/p>\n<ul style=\"text-align: left;\">\n<li style=\"text-align: left;\">funkcje: <code>htmlspecialchars<\/code> oraz <code>htmlentities<\/code>, opr\u00f3cz znak\u00f3w: <code>\"<\/code>, <code>&lt;<\/code>, <code>&gt;<\/code>, <code>&amp;<\/code>\u00a0b\u0119d\u0105, r\u00f3wnie\u017c konwertowa\u0107 pojedyncze cudzys\u0142owy: <code>'<\/code>;<\/li>\n<li style=\"text-align: left;\">obs\u0142uga pow\u0142oki PHP b\u0119dzie wymaga\u0107 skorzystania z rozszerzenia readline;<\/li>\n<li style=\"text-align: left;\">w funkcjach: <code>fputcsv<\/code> oraz <code>SplFileObject::fputcsv<\/code> pojawi si\u0119 parametr <code>eol<\/code> umo\u017cliwiaj\u0105cy uwzgl\u0119dnienie konfigurowalnego znaku na ko\u0144cu wiersza;<\/li>\n<li style=\"text-align: left;\">domy\u015blnie dodawanym podpisem w plikach PHAR b\u0119dzie od teraz algorytm: SHA256 (uprzednio: SHA1);<\/li>\n<li style=\"text-align: left;\">funkcja: <code>version_compare()<\/code> zawiera dodatkowe ograniczenia odnosz\u0105ce si\u0119 do parametr\u00f3w operatora;<\/li>\n<li style=\"text-align: left;\">b\u0142\u0119dy w rozszerzeniu MySQLi nie b\u0119d\u0105 wyciszane, a zg\u0142osz\u0105 wyj\u0105tek;<\/li>\n<li style=\"text-align: left;\">u\u017cycie w funkcji: <code>compact()<\/code> niezdefiniowanych zmiennych, zamiast informacji wy\u015bwietli ostrze\u017cenie.<\/li>\n<\/ul>\n<p style=\"text-align: left;\">Ponad uj\u0119te wy\u017cej usprawnienia zesp\u00f3\u0142 programist\u00f3w skupionych na udoskonaleniu j\u0119zyka PHP dokonuje, r\u00f3wnie\u017c cyklicznych migracji zasob\u00f3w z zewn\u0119trznych \u017ar\u00f3de\u0142 (o czym mo\u017cna dowiedzie\u0107 si\u0119 wi\u0119cej tutaj: <a href=\"https:\/\/php.watch\/articles\/resource-object\" target=\"_blank\" rel=\"noopener\">Transformacja zasob\u00f3w<\/a>).<\/p>\n<p style=\"text-align: left;\"><strong>W przypadku PHP 8.1 zmiana ta dotyczy:<\/strong><\/p>\n<ul>\n<li style=\"text-align: left;\">rozszerzenia Pspell \u2013 obecnie przynale\u017cne do obiekt\u00f3w klas: <code>Pspell\\Dictionary<\/code> i <code>Pspell\\Config<\/code>;<\/li>\n<li style=\"text-align: left;\"><code>file_info<\/code> \u2013 zas\u00f3b przeniesiony do obiekt\u00f3w <code>finfo<\/code>;<\/li>\n<li style=\"text-align: left;\">identyfikator\u00f3w czcionek \u2013 te zosta\u0142y do\u0142\u0105czone do obiekt\u00f3w klasy <code>GdFont<\/code>;<\/li>\n<li style=\"text-align: left;\">rozszerzenia FTP \u2013 zasoby tego po\u0142\u0105czenia nale\u017c\u0105 odt\u0105d do obiekt\u00f3w klasy <code>FTP\\Connection<\/code>;<\/li>\n<li style=\"text-align: left;\">IMAP \u2013 teraz jako obiekt klasy <code>IMAP\\Connection<\/code>;<\/li>\n<li style=\"text-align: left;\">rozszerzenia LDAP \u2013 aktualnie wcielone do obiekt\u00f3w klas: <code>\\LDAP\\Connection<\/code>, <code>\\LDAP\\Result<\/code> i <code>\\LDAP\\ResultEntry<\/code>.<\/li>\n<\/ul>    <\/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_ifln331\">\n                <div  data-lazy=\"1\" class=\"module_column sub_column col-full tb_400s332 first\">\n                            <\/div>\n                    <\/div>\n        <!-- module text -->\n<div  class=\"module module-text tb_27ij332   \" data-lazy=\"1\">\n        <div  class=\"tb_text_wrap\">\n        <h3 style=\"text-align: left;\">Wycofania z PHP 8.1<\/h3>\n<p style=\"text-align: left;\">Nowe wydanie PHP 8.1 uniewa\u017cnia, r\u00f3wnie\u017c cz\u0119\u015b\u0107 mniej przydatnych funkcji. Z list\u0105 rozwi\u0105za\u0144, kt\u00f3re nie b\u0119d\u0105 ju\u017c dost\u0119pne, mo\u017cesz zapozna\u0107 si\u0119 poni\u017cej.<\/p>    <\/div>\n<\/div>\n<!-- \/module text --><!-- module image -->\n<div  class=\"module module-image tb_ejuu332 image-top 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\/wycof.png\" alt=\"Nowa wersja PHP a wycofane funkcje\">    \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_7jnf332\">\n                <div  data-lazy=\"1\" class=\"module_column sub_column col-full tb_ul7n332 first\">\n                            <\/div>\n                    <\/div>\n        <!-- module text -->\n<div  class=\"module module-text tb_udvk332   \" data-lazy=\"1\">\n        <div  class=\"tb_text_wrap\">\n        <p style=\"text-align: left;\"><strong>Oto niekt\u00f3re funkcjonalno\u015bci wycofane z PHP 8.1:<\/strong><\/p>\n<ul>\n<li style=\"text-align: left;\">przekazywanie warto\u015bci <code>null<\/code> w funkcjach;<\/li>\n<li style=\"text-align: left;\"><code>filter.default<\/code> oraz <code>filter.default_options<\/code> deklarowane w pliku php.ini;<\/li>\n<li style=\"text-align: left;\">funkcje: <code>mhash*()<\/code>;<\/li>\n<li style=\"text-align: left;\">metoda: <code>mysqli::get_client_info<\/code> oraz <code>mysqli_get_client_info($param)<\/code>;<\/li>\n<li style=\"text-align: left;\">w\u0142a\u015bciwo\u015b\u0107: <code>mysqli_driver-&gt;driver_version<\/code> z rozszerzenia MySQLi;<\/li>\n<li style=\"text-align: left;\">dyrektywa: <code>auto_detect_line_ending<\/code>;<\/li>\n<li style=\"text-align: left;\">funkcje: <code>date_sunrise<\/code> i <code>date_sunset<\/code>.<\/li>\n<\/ul>    <\/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_kig3332\">\n                <div  data-lazy=\"1\" class=\"module_column sub_column col-full tb_12t7332 first\">\n                            <\/div>\n                    <\/div>\n        <!-- module text -->\n<div  class=\"module module-text tb_9vqo332  repeat \" data-lazy=\"1\">\n        <div  class=\"tb_text_wrap\">\n        <h3 style=\"text-align: left;\">Jak zmieni\u0107 wersj\u0119 PHP na 8.1?<\/h3>\n<p style=\"text-align: left;\" align=\"LEFT\">Je\u015bli chcesz samodzielnie sprawdzi\u0107 wydajno\u015b\u0107 nowej wersji PHP, mo\u017cesz to zrobi\u0107, przechodz\u0105c bezpo\u015brednio do panelu hostingu.<br>Znajdziesz tu dedykowan\u0105 przestrze\u0144, w kt\u00f3rej wystarczy odhaczy\u0107 w\u0142a\u015bciw\u0105 opcj\u0119.<\/p>\n<p style=\"text-align: left;\" align=\"LEFT\">Je\u017celi nie wiesz, gdzie szuka\u0107, sp\u00f3jrz na kroki rozrysowane poni\u017cej.<\/p>    <\/div>\n<\/div>\n<!-- \/module text --><!-- module box -->\n<div  class=\"module module-box tb_kq9d332 \" 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> W przypadku ka\u017cdej aktualizacji istnieje ryzyko wyst\u0105pienia niestabilno\u015bci systemu plik\u00f3w, kt\u00f3re niekoniecznie mog\u0105 by\u0107 z g\u00f3ry przystosowane oraz kompatybilne z now\u0105 wersj\u0105 PHP. Je\u015bli taka sytuacja b\u0119dzie mia\u0142a miejsce, wystarczy przywr\u00f3ci\u0107 poprzednie ustawienie.<\/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_7h08332\">\n                <div  data-lazy=\"1\" class=\"module_column sub_column col-full tb_ak0h332 first\">\n                            <\/div>\n                    <\/div>\n        <!-- module text -->\n<div  class=\"module module-text tb_rjzf333  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;\">Przejd\u017a do panelu hostingu i najed\u017a kursorem na kart\u0119: <strong>\u201eDodatkowe funkcje\u201d<\/strong>, a nast\u0119pnie wybierz: <strong>\u201eSelect PHP version\u201d<\/strong>.<\/p>    <\/div>\n<\/div>\n<!-- \/module text --><!-- module image -->\n<div  class=\"module module-image tb_9jep333 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 zmieni\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_pym9333\">\n                <div  data-lazy=\"1\" class=\"module_column sub_column col-full tb_tkpv333 first\">\n                            <\/div>\n                    <\/div>\n        <!-- module text -->\n<div  class=\"module module-text tb_1rg6333  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;\">Teraz w polu: <strong>\u201eBie\u017c\u0105ca wersja PHP\u201d<\/strong> kliknij aktualne ustawienie, aby rozwin\u0105\u0107 menu i odznacz opcj\u0119: <strong>\u201e8.1\u201d<\/strong>. Zapisz zmiany poprzez wybranie: <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_6rbq333 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=\"Aktualizacja 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_ifmg333\">\n                <div  data-lazy=\"1\" class=\"module_column sub_column col-full tb_b57c333 first\">\n                            <\/div>\n                    <\/div>\n        <!-- module text -->\n<div  class=\"module module-text tb_wo2c333  repeat \" data-lazy=\"1\">\n        <div  class=\"tb_text_wrap\">\n        <h3 style=\"text-align: left;\">Podsumowanie<\/h3>\n<p style=\"text-align: left;\">PHP 8.1 to kolejna du\u017ca aktualizacja wprowadzaj\u0105ca kilka interesuj\u0105cych rozwi\u0105za\u0144, kt\u00f3re mog\u0105 okaza\u0107 si\u0119 praktyczn\u0105 pomoc\u0105 dla webmaster\u00f3w.<\/p>\n<p style=\"text-align: left;\">I mimo i\u017c finalna wersja zostanie og\u0142oszona pod koniec listopada bie\u017c\u0105cego roku, z ka\u017cd\u0105 mniejsz\u0105 i wi\u0119ksz\u0105 nowink\u0105 mo\u017cna zapozna\u0107 si\u0119 na oficjalnej stronie: <a href=\"https:\/\/wiki.php.net\/rfc#implemented\" target=\"_blank\" rel=\"noopener\">Wiki \u2014 PHP 8.1<\/a>.<br>Gdzie kolejne udoskonalenia b\u0119d\u0105 pojawia\u0107 si\u0119 od teraz w ramach cyklu Release <span class=\"hiddenSpellError\">Candidate<\/span>\u00a0do decyduj\u0105cej ods\u0142ony w dwutygodniowych odst\u0119pach czasowych. Co zasadniczo wskazuje, i\u017c przed PHP 8.1 jest ju\u017c ostatnia prosta.<\/p>    <\/div>\n<\/div>\n<!-- \/module text --><!-- module text -->\n<div  class=\"module module-text tb_925e334  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_o97d334 \" 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_z7zw334 \" 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_lqzb334 last\">\n                            <\/div>\n                        <\/div>\n        <\/div>\n        <\/div>\n<!--\/themify_builder_content-->","protected":false},"excerpt":{"rendered":"<p>PHP 8.1 \u2013 co nowego? Zmiany i test wydajno\u015bci PHP 8.1 Mimo i\u017c PHP 8.1 nie doczeka\u0142o si\u0119 jeszcze oficjalnego wydania, a aby zapozna\u0107 si\u0119 z pe\u0142nym zakresem mo\u017cliwo\u015bci, jakie zostan\u0105 zaproponowane, b\u0119dzie trzeba poczeka\u0107 do 25 listopada 2021 roku. Tak ju\u017c teraz mamy do dyspozycji szereg konkretnych ciekawostek, dzi\u0119ki kt\u00f3rym strona WWW zyska na [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":4869,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-4868","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.7 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>PHP 8.1 \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-1-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.1 \u2013 co nowego? Test wydajno\u015bci - Blog o hostingu i dla hostingu\" \/>\n<meta property=\"og:description\" content=\"PHP 8.1 \u2013 co nowego? Zmiany i test wydajno\u015bci PHP 8.1 Mimo i\u017c PHP 8.1 nie doczeka\u0142o si\u0119 jeszcze oficjalnego wydania, a aby zapozna\u0107 si\u0119 z pe\u0142nym zakresem mo\u017cliwo\u015bci, jakie zostan\u0105 zaproponowane, b\u0119dzie trzeba poczeka\u0107 do 25 listopada 2021 roku. Tak ju\u017c teraz mamy do dyspozycji szereg konkretnych ciekawostek, dzi\u0119ki kt\u00f3rym strona WWW zyska na [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/jchost.pl\/blog\/php-8-1-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=\"2021-09-10T09:48:13+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-10-20T08:06:57+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/jchost.pl\/blog\/wp-content\/uploads\/2021\/09\/featured-image-1.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-1-co-nowego-test-wydajnosci\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/jchost.pl\\\/blog\\\/php-8-1-co-nowego-test-wydajnosci\\\/\"},\"author\":{\"name\":\"Ekipa\",\"@id\":\"https:\\\/\\\/jchost.pl\\\/blog\\\/#\\\/schema\\\/person\\\/5c0718f08eb37ba283bce590a6a97475\"},\"headline\":\"PHP 8.1 \u2013 co nowego? Test wydajno\u015bci\",\"datePublished\":\"2021-09-10T09:48:13+00:00\",\"dateModified\":\"2022-10-20T08:06:57+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/jchost.pl\\\/blog\\\/php-8-1-co-nowego-test-wydajnosci\\\/\"},\"wordCount\":1398,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/jchost.pl\\\/blog\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/jchost.pl\\\/blog\\\/php-8-1-co-nowego-test-wydajnosci\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/jchost.pl\\\/blog\\\/wp-content\\\/uploads\\\/2021\\\/09\\\/featured-image-1.png\",\"articleSection\":[\"Uncategorized\"],\"inLanguage\":\"pl-PL\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/jchost.pl\\\/blog\\\/php-8-1-co-nowego-test-wydajnosci\\\/\",\"url\":\"https:\\\/\\\/jchost.pl\\\/blog\\\/php-8-1-co-nowego-test-wydajnosci\\\/\",\"name\":\"PHP 8.1 \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-1-co-nowego-test-wydajnosci\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/jchost.pl\\\/blog\\\/php-8-1-co-nowego-test-wydajnosci\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/jchost.pl\\\/blog\\\/wp-content\\\/uploads\\\/2021\\\/09\\\/featured-image-1.png\",\"datePublished\":\"2021-09-10T09:48:13+00:00\",\"dateModified\":\"2022-10-20T08:06:57+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/jchost.pl\\\/blog\\\/php-8-1-co-nowego-test-wydajnosci\\\/#breadcrumb\"},\"inLanguage\":\"pl-PL\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/jchost.pl\\\/blog\\\/php-8-1-co-nowego-test-wydajnosci\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pl-PL\",\"@id\":\"https:\\\/\\\/jchost.pl\\\/blog\\\/php-8-1-co-nowego-test-wydajnosci\\\/#primaryimage\",\"url\":\"https:\\\/\\\/jchost.pl\\\/blog\\\/wp-content\\\/uploads\\\/2021\\\/09\\\/featured-image-1.png\",\"contentUrl\":\"https:\\\/\\\/jchost.pl\\\/blog\\\/wp-content\\\/uploads\\\/2021\\\/09\\\/featured-image-1.png\",\"width\":879,\"height\":469},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/jchost.pl\\\/blog\\\/php-8-1-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.1 \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.1 \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-1-co-nowego-test-wydajnosci\/","og_locale":"pl_PL","og_type":"article","og_title":"PHP 8.1 \u2013 co nowego? Test wydajno\u015bci - Blog o hostingu i dla hostingu","og_description":"PHP 8.1 \u2013 co nowego? Zmiany i test wydajno\u015bci PHP 8.1 Mimo i\u017c PHP 8.1 nie doczeka\u0142o si\u0119 jeszcze oficjalnego wydania, a aby zapozna\u0107 si\u0119 z pe\u0142nym zakresem mo\u017cliwo\u015bci, jakie zostan\u0105 zaproponowane, b\u0119dzie trzeba poczeka\u0107 do 25 listopada 2021 roku. Tak ju\u017c teraz mamy do dyspozycji szereg konkretnych ciekawostek, dzi\u0119ki kt\u00f3rym strona WWW zyska na [&hellip;]","og_url":"https:\/\/jchost.pl\/blog\/php-8-1-co-nowego-test-wydajnosci\/","og_site_name":"Blog o hostingu i dla hostingu","article_publisher":"https:\/\/www.facebook.com\/jchostpl\/","article_published_time":"2021-09-10T09:48:13+00:00","article_modified_time":"2022-10-20T08:06:57+00:00","og_image":[{"width":879,"height":469,"url":"https:\/\/jchost.pl\/blog\/wp-content\/uploads\/2021\/09\/featured-image-1.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-1-co-nowego-test-wydajnosci\/#article","isPartOf":{"@id":"https:\/\/jchost.pl\/blog\/php-8-1-co-nowego-test-wydajnosci\/"},"author":{"name":"Ekipa","@id":"https:\/\/jchost.pl\/blog\/#\/schema\/person\/5c0718f08eb37ba283bce590a6a97475"},"headline":"PHP 8.1 \u2013 co nowego? Test wydajno\u015bci","datePublished":"2021-09-10T09:48:13+00:00","dateModified":"2022-10-20T08:06:57+00:00","mainEntityOfPage":{"@id":"https:\/\/jchost.pl\/blog\/php-8-1-co-nowego-test-wydajnosci\/"},"wordCount":1398,"commentCount":0,"publisher":{"@id":"https:\/\/jchost.pl\/blog\/#organization"},"image":{"@id":"https:\/\/jchost.pl\/blog\/php-8-1-co-nowego-test-wydajnosci\/#primaryimage"},"thumbnailUrl":"https:\/\/jchost.pl\/blog\/wp-content\/uploads\/2021\/09\/featured-image-1.png","articleSection":["Uncategorized"],"inLanguage":"pl-PL"},{"@type":"WebPage","@id":"https:\/\/jchost.pl\/blog\/php-8-1-co-nowego-test-wydajnosci\/","url":"https:\/\/jchost.pl\/blog\/php-8-1-co-nowego-test-wydajnosci\/","name":"PHP 8.1 \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-1-co-nowego-test-wydajnosci\/#primaryimage"},"image":{"@id":"https:\/\/jchost.pl\/blog\/php-8-1-co-nowego-test-wydajnosci\/#primaryimage"},"thumbnailUrl":"https:\/\/jchost.pl\/blog\/wp-content\/uploads\/2021\/09\/featured-image-1.png","datePublished":"2021-09-10T09:48:13+00:00","dateModified":"2022-10-20T08:06:57+00:00","breadcrumb":{"@id":"https:\/\/jchost.pl\/blog\/php-8-1-co-nowego-test-wydajnosci\/#breadcrumb"},"inLanguage":"pl-PL","potentialAction":[{"@type":"ReadAction","target":["https:\/\/jchost.pl\/blog\/php-8-1-co-nowego-test-wydajnosci\/"]}]},{"@type":"ImageObject","inLanguage":"pl-PL","@id":"https:\/\/jchost.pl\/blog\/php-8-1-co-nowego-test-wydajnosci\/#primaryimage","url":"https:\/\/jchost.pl\/blog\/wp-content\/uploads\/2021\/09\/featured-image-1.png","contentUrl":"https:\/\/jchost.pl\/blog\/wp-content\/uploads\/2021\/09\/featured-image-1.png","width":879,"height":469},{"@type":"BreadcrumbList","@id":"https:\/\/jchost.pl\/blog\/php-8-1-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.1 \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\/4868","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=4868"}],"version-history":[{"count":3,"href":"https:\/\/jchost.pl\/blog\/wp-json\/wp\/v2\/posts\/4868\/revisions"}],"predecessor-version":[{"id":4979,"href":"https:\/\/jchost.pl\/blog\/wp-json\/wp\/v2\/posts\/4868\/revisions\/4979"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/jchost.pl\/blog\/wp-json\/wp\/v2\/media\/4869"}],"wp:attachment":[{"href":"https:\/\/jchost.pl\/blog\/wp-json\/wp\/v2\/media?parent=4868"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jchost.pl\/blog\/wp-json\/wp\/v2\/categories?post=4868"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jchost.pl\/blog\/wp-json\/wp\/v2\/tags?post=4868"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}