{"id":243,"date":"2021-02-26T11:45:56","date_gmt":"2021-02-26T11:45:56","guid":{"rendered":"https:\/\/www.statnet.pl\/blog\/?p=243"},"modified":"2023-12-14T09:00:49","modified_gmt":"2023-12-14T09:00:49","slug":"8-najwazniejszych-funkcji-w-php-8-0","status":"publish","type":"post","link":"https:\/\/www.statnet.pl\/blog\/hosting\/8-najwazniejszych-funkcji-w-php-8-0\/","title":{"rendered":"8 najwa\u017cniejszych funkcji w PHP 8.0"},"content":{"rendered":"\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"800\" src=\"https:\/\/www.statnet.pl\/blog\/wp-content\/uploads\/2021\/02\/php8.png\" alt=\"\" class=\"wp-image-254\" srcset=\"https:\/\/www.statnet.pl\/blog\/wp-content\/uploads\/2021\/02\/php8.png 800w, https:\/\/www.statnet.pl\/blog\/wp-content\/uploads\/2021\/02\/php8-150x150.png 150w, https:\/\/www.statnet.pl\/blog\/wp-content\/uploads\/2021\/02\/php8-300x300.png 300w, https:\/\/www.statnet.pl\/blog\/wp-content\/uploads\/2021\/02\/php8-768x768.png 768w\" sizes=\"auto, (max-width: 800px) 100vw, 800px\" \/><\/figure>\n\n\n\n<p>W lutym 2021 rozpocz\u0119li\u015bmy wprowadzanie php 8 na serwerach z serii Hosting Dedykowany oraz Hosting dla Agencji. Na nowo zam\u00f3wionych serwerach php 8 jest zainstalowane domy\u015blnie. W przypadku serwer\u00f3w zam\u00f3wionych przed lutym 2021 aby uruchomi\u0107 wersj\u0119 php 8 prosimy skontaktowa\u0107 si\u0119 z nasz\u0105 pomoc\u0105 techniczn\u0105. Po sprawdzeniu mo\u017cliwo\u015bci technicznych wersja php 8 zostanie zainstalowana.<\/p>\n\n\n\n<p>Nowa wersja PHP 8 pojawi\u0142a si\u0119 pod koniec listopada 2020 roku. Najnowsza wersja PHP zawiera zar\u00f3wno dodatkowe funkcje jak r\u00f3wnie\u017c ulepszenie wydajno\u015bci.<\/p>\n\n\n\n<p>W tym artykule przyjrzymy si\u0119 o\u015bmiu najwi\u0119kszym usprawnieniom oferowanym przez PHP 8. Pe\u0142n\u0105 list\u0119 dodatk\u00f3w i zmian mo\u017cna znale\u017a\u0107 w <a href=\"https:\/\/www.php.net\/releases\/8.0\/en.php\">oficjalnej dokumentacji<\/a>. W dokumentach znajduje si\u0119 r\u00f3wnie\u017c obszerny przewodnik migracji, kt\u00f3ry mo\u017cna wykorzysta\u0107 podczas aktualizacji projekt\u00f3w z PHP 7.4.<\/p>\n\n\n\n<ol class=\"wp-block-list\"><li><strong>Atrybuty<\/strong><\/li><\/ol>\n\n\n\n<p>Atrybuty, znane r\u00f3wnie\u017c jako adnotacje, zapewniaj\u0105 mechanizm dodawania metadanych do kodu. Atrybuty mog\u0105 by\u0107 u\u017cywane z klasami, metodami, funkcjami i w\u0142a\u015bciwo\u015bciami. S\u0105 \u0142atwiejsze w obs\u0142udze ni\u017c adnotacje <code>docblock<\/code> u\u017cywane w wielu projektach PHP 7.<\/p>\n\n\n\n<p>Atrybuty s\u0105 zdefiniowane jako proste klasy, kt\u00f3re s\u0105 opisane za pomoc\u0105 wbudowanego atrybutu <code>Attribute<\/code>:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>#[Attribute]\nclass ExampleAttribute {\n \n    protected string $value;\n \n    public function __construct(string $value) {\n        $this ->; value = $value;\n    }\n \n    public function getValue() : string {\n        return $this ->; value;\n    }\n \n}<\/code><\/pre>\n\n\n\n<p>Mo\u017cna je nast\u0119pnie do\u0142\u0105czy\u0107 do kodu:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>#[ExampleAttribute(\"Example\")]\nclass ExampleClass {\n    \/\/ ...\n}<\/code><\/pre>\n\n\n\n<p>Atrybuty s\u0105 pobierane za po\u015brednictwem Reflection API. Umo\u017cliwia on sprawdzanie i konstruowanie atrybut\u00f3w zdefiniowanych w klasie, metodzie lub innym elemencie kodu. Atrybuty b\u0119d\u0105 najbardziej u\u017cyteczne we frameworkach i bibliotekach.<\/p>\n\n\n\n<p><strong>2. Argumenty nazwane (Named Arguments)<\/strong><\/p>\n\n\n\n<p>Argumenty nazwane umo\u017cliwiaj\u0105 przekazywanie parametr\u00f3w do metod i funkcji przy u\u017cyciu konstrukcji w postaci tablicy. U\u0142atwia to pomijanie opcjonalnych parametr\u00f3w i przekazywanie ich poza kolejno\u015bci\u0105.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>function foo(?string $a=null, ?string $b=null, ?string $c=null) : void;<\/code><\/pre>\n\n\n\n<p>W PHP 7, wywo\u0142ywanie powy\u017cszej funkcji podczas przekazywania warto\u015bci \u201cdemo\u201d do $c wymaga\u0142o nast\u0119puj\u0105cego wywo\u0142ania:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>foo(null, null, \"demo\");<\/code><\/pre>\n\n\n\n<p>W PHP 8 mo\u017cna zamiast tego u\u017cy\u0107 nast\u0119puj\u0105cej sk\u0142adni:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>foo(c: \"demo\");<\/code><\/pre>\n\n\n\n<p>Dzi\u0119ki temu wywo\u0142ania funkcji z wieloma opcjonalnymi argumentami s\u0105 mniej powtarzalne i \u0142atwiejsze w utrzymaniu.<\/p>\n\n\n\n<p><strong>3. Constructor Property Promotion<\/strong><\/p>\n\n\n\n<p>Wype\u0142nianie w\u0142a\u015bciwo\u015bci klasy warto\u015bciami pocz\u0105tkowymi jest jedn\u0105 z najcz\u0119stszych r\u00f3l konstruktora. Kod podobny do poni\u017cszego jest cz\u0119sto spotykany w bazach kodu PHP 7:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>class Example {\n \n    protected ?string $Property;\n \n    public function __construct(?string $Property=null) {\n        $this ->; Property = $Property;\n    }\n \n}<\/code><\/pre>\n\n\n\n<p>PHP 8 dodaje obs\u0142ug\u0119 Constructor Property Promotion, skr\u00f3conej sk\u0142adni, kt\u00f3ra pozwala \u0142\u0105czy\u0107 definicj\u0119 w\u0142a\u015bciwo\u015bci, podpowiedzi typu i wype\u0142nianie w sygnaturze konstruktora. Powy\u017cszy przyk\u0142ad mo\u017cna przepisa\u0107 w nast\u0119puj\u0105cy spos\u00f3b:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>class Example {\n    public function __construct(\n        protected string $Property=null\n    )\n}<\/code><\/pre>\n\n\n\n<p>Ten styl eliminuje powt\u00f3rzenia. Jego u\u017cycie u\u0142atwia dodanie dodatkowych w\u0142a\u015bciwo\u015bci konstruktora w przysz\u0142o\u015bci, zmniejszaj\u0105c liczb\u0119 sekcji kodu, kt\u00f3re musia\u0142by\u015b zmodyfikowa\u0107.<\/p>\n\n\n\n<p><strong>4. Union Types<\/strong><\/p>\n\n\n\n<p>System typ\u00f3w PHP stale si\u0119 rozwija wraz z PHP 8. Obecnie mo\u017cna wskaza\u0107 typy jako \u201euni\u0119\u201d dw\u00f3ch lub wi\u0119cej typ\u00f3w, gdzie warto\u015b\u0107 typu mo\u017ce pochodzi\u0107 z dowolnego typu w unii.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>public function foo(string|int $bar) : int|float;<\/code><\/pre>\n\n\n\n<p>W powy\u017cszym przyk\u0142adzie, funkcja foo() akceptuje zar\u00f3wno ci\u0105gi znak\u00f3w jak i liczby ca\u0142kowite. Zwr\u00f3ci ona albo liczb\u0119 ca\u0142kowit\u0105 albo liczb\u0119 zmiennoprzecinkow\u0105 (float).<\/p>\n\n\n\n<p>W praktyce, ta mo\u017cliwo\u015b\u0107 b\u0119dzie prawdopodobnie najbardziej przydatna, gdy zastosujemy j\u0105 do w\u0142a\u015bciwo\u015bci i parametr\u00f3w metod &#8211; jest to dobra forma akceptowania r\u00f3\u017cnych typ\u00f3w wej\u015bciowych i normalizowania ich do pojedynczego typu wyj\u015bciowego.<\/p>\n\n\n\n<p><strong>5. Match Expression<\/strong><\/p>\n\n\n\n<p>Nowe wyra\u017cenie jest bezpieczniejsz\u0105 alternatyw\u0105 dla dobrze znanej konstrukcji <code>switch<\/code>. Nie wymaga stosowania instrukcji case i break, obs\u0142uguje po\u0142\u0105czone warunki i zwraca warto\u015b\u0107 zamiast wprowadzania nowego bloku kodu. Koercja typu jest wy\u0142\u0105czona, wi\u0119c 1.0 (liczba zmiennoprzecinkowa) nie jest uwa\u017cana za r\u00f3wnowa\u017cn\u0105 z \u201e1.0\u201d (ci\u0105g znak\u00f3w), w przeciwie\u0144stwie do u\u017cycia konstrukcji <code>switch<\/code>.<\/p>\n\n\n\n<p>Oto typowy przyk\u0142ad zastosowania <code>switch<\/code> PHP 7:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>switch (1.0) {\n    case 1.0:\n        $result = \"Float!\";\n        break;\n    case \"foo\":\n    case \"bar\":\n        $result = \"foobar!\";\n        break;\n}<\/code><\/pre>\n\n\n\n<p>A oto jak ten sam kod m\u00f3g\u0142by wygl\u0105da\u0107 w PHP 8:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>$result = match (1.0) {\n    1.0 =>; \"Float!\",\n    \"foo\", \"bar\" =>; \"foobar!\"\n}<\/code><\/pre>\n\n\n\n<p>Po raz kolejny nowe podej\u015bcie jest znacznie bardziej zwi\u0119z\u0142e. Jedynym zastrze\u017ceniem, na kt\u00f3re nale\u017cy zwr\u00f3ci\u0107 uwag\u0119, jest to, \u017ce warto\u015bci sk\u0142adni po\u0142\u0105czonych warunk\u00f3w nie s\u0105 zdefiniowane w tablicy, ale jako prosty zestaw rozdzielany przecinkami, podobny do wywo\u0142ania funkcji.<\/p>\n\n\n\n<p><strong>6. Operator &#8222;Nullsafe&#8221;<\/strong><\/p>\n\n\n\n<p>Kolejna koncepcja zapo\u017cyczona z innych j\u0119zyk\u00f3w, PHP 8 obs\u0142uguje sprawdzanie null inline z automatycznym rozwi\u0105zaniem typu <code>short-circuit<\/code>. Istnieje mo\u017cliwo\u015b\u0107 zbudowania \u0142a\u0144cucha weryfikacji, kt\u00f3ry przerwie dzia\u0142anie, zwracaj\u0105c null, gdy ocena kt\u00f3rego\u015b z element\u00f3w zako\u0144czy si\u0119 niepowodzeniem.<\/p>\n\n\n\n<p>W PHP 7:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>$photo = null;\nif ($user !== null) {\n    if ($user ->; profile !== null) {\n        if ($user ->; profile ->; getPhoto() !== null) {\n            $photo = $user ->; profile ->; getPhoto() ->; getPath();\n        }\n    }\n}<\/code><\/pre>\n\n\n\n<p>Oraz w PHP 8:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>$photo = $user? ->; profile? ->; getPhoto()? ->; getPath();<\/code><\/pre>\n\n\n\n<p>PHP 8 ponownie dostarcza prostsze rozwi\u0105zanie, kt\u00f3re eliminuje zagnie\u017cd\u017cania. Skutkuje to znacznie mniejsz\u0105 ilo\u015bci\u0105 kodu do przetestowania i utrzymania.<\/p>\n\n\n\n<p><strong>7. Stricter Type System<\/strong><\/p>\n\n\n\n<p>Przyjrzeli\u015bmy si\u0119 ju\u017c jak <code>Union types<\/code> dodaj\u0105 kolejn\u0105 warstw\u0119 elastyczno\u015bci do systemu typ\u00f3w w PHP 8. Kilka dodatkowych zmian w tym obszarze zwi\u0119ksza rygorystyczno\u015b\u0107 i sp\u00f3jno\u015b\u0107, z jak\u0105 sprawdzanie typ\u00f3w jest egzekwowane.<\/p>\n\n\n\n<p>Por\u00f3wnywanie ci\u0105g\u00f3w znak\u00f3w do liczb jest teraz bardziej bezpieczne. 0 (liczba ca\u0142kowita) nie jest ju\u017c r\u00f3wnowa\u017cne &#8222;&#8221; (pusty \u0142a\u0144cuch), a por\u00f3wnania takie jak <code>123 == \"123abc\"<\/code> daj\u0105 teraz warto\u015b\u0107 <code>false<\/code>, a nie <code>true<\/code>. Zmiany te pomagaj\u0105 zmniejszy\u0107 prawdopodobie\u0144stwo wyst\u0105pienia b\u0142\u0119d\u00f3w por\u00f3wnawczych w kodzie.<\/p>\n\n\n\n<p><strong>8. JIT (kompilator Just In Time)<\/strong><\/p>\n\n\n\n<p>PHP 8 dodaje wsparcie dla kompilacji Just-In-Time, kt\u00f3ra mo\u017ce znacznie zwi\u0119kszy\u0107 wydajno\u015b\u0107.<\/p>\n\n\n\n<p>D\u0142ugo dzia\u0142aj\u0105ce skrypty obs\u0142uguj\u0105ce powtarzalne zadania skorzystaj\u0105 na kompilacji JIT. Testy wskazuj\u0105, \u017ce poprawa b\u0119dzie mniej widoczna w aplikacjach internetowych, gdzie PHP jest najcz\u0119\u015bciej spotykane. Dodanie JIT mo\u017ce jednak pom\u00f3c w rozszerzeniu PHP na inne dziedziny programowania, zwi\u0119kszaj\u0105c atrakcyjno\u015b\u0107 i wszechstronno\u015b\u0107 j\u0119zyka.<\/p>\n\n\n\n<p>JIT nale\u017cy w\u0142\u0105czy\u0107 przy u\u017cyciu nowych ustawie\u0144 w pliku konfiguracyjnym php.ini. Szczeg\u00f3\u0142owe informacje na temat dost\u0119pnych warto\u015bci i ich wp\u0142ywu mo\u017cna znale\u017a\u0107 w dokumentacji. Jednak jako og\u00f3lne domy\u015blne ustawienie zaleca si\u0119: <\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;code>opcache.enable=1\nopcache.jit_buffer_size=100M\nopcache.jit=1255&lt;\/code><\/code><\/pre>\n\n\n\n<p><strong>Podsumowanie<\/strong><\/p>\n\n\n\n<p>Przedstawili\u015bmy tylko osiem najbardziej znacz\u0105cych dodatk\u00f3w i zmian w PHP 8. Przed rozpocz\u0119ciem u\u017cywania PHP 8 w swoich projektach warto przejrze\u0107 oficjalne informacje o wydaniu, poniewa\u017c istnieje wiele innych pomniejszych funkcji, kt\u00f3rych nie mogli\u015bmy tutaj opisa\u0107 .<\/p>\n\n\n\n<p>Chocia\u017c wi\u0119kszo\u015b\u0107 zmian jest kompatybilna wstecz, potencjalnymi problemami mog\u0105 by\u0107 usprawnienia w systemie typ\u00f3w oraz zmiany w bibliotece standardowej. Pe\u0142n\u0105 instrukcj\u0119 migracji mo\u017cna znale\u017a\u0107 na stronie z dokumentacj\u0105 PHP.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>W lutym 2021 rozpocz\u0119li\u015bmy wprowadzanie php 8 na serwerach z serii Hosting Dedykowany oraz Hosting dla Agencji. Na nowo zam\u00f3wionych serwerach php 8 jest zainstalowane domy\u015blnie. W przypadku serwer\u00f3w zam\u00f3wionych przed lutym 2021 aby uruchomi\u0107 wersj\u0119 php 8 prosimy skontaktowa\u0107 si\u0119 z nasz\u0105 pomoc\u0105 techniczn\u0105. Po sprawdzeniu mo\u017cliwo\u015bci technicznych wersja php 8 zostanie zainstalowana. Nowa [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2],"tags":[],"class_list":["post-243","post","type-post","status-publish","format-standard","hentry","category-hosting"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.2 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>8 najwa\u017cniejszych funkcji w PHP 8.0 - Blog<\/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:\/\/www.statnet.pl\/blog\/hosting\/8-najwazniejszych-funkcji-w-php-8-0\/\" \/>\n<meta property=\"og:locale\" content=\"pl_PL\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"8 najwa\u017cniejszych funkcji w PHP 8.0 - Blog\" \/>\n<meta property=\"og:description\" content=\"W lutym 2021 rozpocz\u0119li\u015bmy wprowadzanie php 8 na serwerach z serii Hosting Dedykowany oraz Hosting dla Agencji. Na nowo zam\u00f3wionych serwerach php 8 jest zainstalowane domy\u015blnie. W przypadku serwer\u00f3w zam\u00f3wionych przed lutym 2021 aby uruchomi\u0107 wersj\u0119 php 8 prosimy skontaktowa\u0107 si\u0119 z nasz\u0105 pomoc\u0105 techniczn\u0105. Po sprawdzeniu mo\u017cliwo\u015bci technicznych wersja php 8 zostanie zainstalowana. Nowa [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.statnet.pl\/blog\/hosting\/8-najwazniejszych-funkcji-w-php-8-0\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/statnetpl\/\" \/>\n<meta property=\"article:published_time\" content=\"2021-02-26T11:45:56+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-12-14T09:00:49+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.statnet.pl\/blog\/wp-content\/uploads\/2021\/02\/php8.png\" \/>\n<meta name=\"author\" content=\"maciej\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Napisane przez\" \/>\n\t<meta name=\"twitter:data1\" content=\"maciej\" \/>\n\t<meta name=\"twitter:label2\" content=\"Szacowany czas czytania\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minut\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.statnet.pl\/blog\/hosting\/8-najwazniejszych-funkcji-w-php-8-0\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.statnet.pl\/blog\/hosting\/8-najwazniejszych-funkcji-w-php-8-0\/\"},\"author\":{\"name\":\"maciej\",\"@id\":\"https:\/\/www.statnet.pl\/blog\/#\/schema\/person\/9af76a8413b5893790864f726e728d42\"},\"headline\":\"8 najwa\u017cniejszych funkcji w PHP 8.0\",\"datePublished\":\"2021-02-26T11:45:56+00:00\",\"dateModified\":\"2023-12-14T09:00:49+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.statnet.pl\/blog\/hosting\/8-najwazniejszych-funkcji-w-php-8-0\/\"},\"wordCount\":1014,\"publisher\":{\"@id\":\"https:\/\/www.statnet.pl\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.statnet.pl\/blog\/hosting\/8-najwazniejszych-funkcji-w-php-8-0\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.statnet.pl\/blog\/wp-content\/uploads\/2021\/02\/php8.png\",\"articleSection\":[\"Hosting\"],\"inLanguage\":\"pl-PL\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.statnet.pl\/blog\/hosting\/8-najwazniejszych-funkcji-w-php-8-0\/\",\"url\":\"https:\/\/www.statnet.pl\/blog\/hosting\/8-najwazniejszych-funkcji-w-php-8-0\/\",\"name\":\"8 najwa\u017cniejszych funkcji w PHP 8.0 - Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.statnet.pl\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.statnet.pl\/blog\/hosting\/8-najwazniejszych-funkcji-w-php-8-0\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.statnet.pl\/blog\/hosting\/8-najwazniejszych-funkcji-w-php-8-0\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.statnet.pl\/blog\/wp-content\/uploads\/2021\/02\/php8.png\",\"datePublished\":\"2021-02-26T11:45:56+00:00\",\"dateModified\":\"2023-12-14T09:00:49+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.statnet.pl\/blog\/hosting\/8-najwazniejszych-funkcji-w-php-8-0\/#breadcrumb\"},\"inLanguage\":\"pl-PL\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.statnet.pl\/blog\/hosting\/8-najwazniejszych-funkcji-w-php-8-0\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pl-PL\",\"@id\":\"https:\/\/www.statnet.pl\/blog\/hosting\/8-najwazniejszych-funkcji-w-php-8-0\/#primaryimage\",\"url\":\"https:\/\/www.statnet.pl\/blog\/wp-content\/uploads\/2021\/02\/php8.png\",\"contentUrl\":\"https:\/\/www.statnet.pl\/blog\/wp-content\/uploads\/2021\/02\/php8.png\",\"width\":800,\"height\":800},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.statnet.pl\/blog\/hosting\/8-najwazniejszych-funkcji-w-php-8-0\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Strona g\u0142\u00f3wna\",\"item\":\"https:\/\/www.statnet.pl\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"8 najwa\u017cniejszych funkcji w PHP 8.0\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.statnet.pl\/blog\/#website\",\"url\":\"https:\/\/www.statnet.pl\/blog\/\",\"name\":\"Blog\",\"description\":\"Artyku\u0142y na blogu to \u017ar\u00f3d\u0142o wiedzy na temat najnowszych trend\u00f3w w hostingu. Odkryjmy razem, jak wykorzysta\u0107 technologi\u0119, aby zwi\u0119kszy\u0107 wydajno\u015b\u0107 i bezpiecze\u0144stwo Twojej strony.\",\"publisher\":{\"@id\":\"https:\/\/www.statnet.pl\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.statnet.pl\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pl-PL\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.statnet.pl\/blog\/#organization\",\"name\":\"STATNET Online\",\"url\":\"https:\/\/www.statnet.pl\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pl-PL\",\"@id\":\"https:\/\/www.statnet.pl\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.statnet.pl\/blog\/wp-content\/uploads\/2023\/12\/logo-statnet-online.png\",\"contentUrl\":\"https:\/\/www.statnet.pl\/blog\/wp-content\/uploads\/2023\/12\/logo-statnet-online.png\",\"width\":612,\"height\":174,\"caption\":\"STATNET Online\"},\"image\":{\"@id\":\"https:\/\/www.statnet.pl\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/statnetpl\/\",\"https:\/\/www.linkedin.com\/company\/statnet\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.statnet.pl\/blog\/#\/schema\/person\/9af76a8413b5893790864f726e728d42\",\"name\":\"maciej\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pl-PL\",\"@id\":\"https:\/\/secure.gravatar.com\/avatar\/02e25c9b5a3ce5f21524148cb105ca66e32d6b5d192b732c9f634142759060d0?s=96&d=mm&r=g\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/02e25c9b5a3ce5f21524148cb105ca66e32d6b5d192b732c9f634142759060d0?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/02e25c9b5a3ce5f21524148cb105ca66e32d6b5d192b732c9f634142759060d0?s=96&d=mm&r=g\",\"caption\":\"maciej\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"8 najwa\u017cniejszych funkcji w PHP 8.0 - Blog","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:\/\/www.statnet.pl\/blog\/hosting\/8-najwazniejszych-funkcji-w-php-8-0\/","og_locale":"pl_PL","og_type":"article","og_title":"8 najwa\u017cniejszych funkcji w PHP 8.0 - Blog","og_description":"W lutym 2021 rozpocz\u0119li\u015bmy wprowadzanie php 8 na serwerach z serii Hosting Dedykowany oraz Hosting dla Agencji. Na nowo zam\u00f3wionych serwerach php 8 jest zainstalowane domy\u015blnie. W przypadku serwer\u00f3w zam\u00f3wionych przed lutym 2021 aby uruchomi\u0107 wersj\u0119 php 8 prosimy skontaktowa\u0107 si\u0119 z nasz\u0105 pomoc\u0105 techniczn\u0105. Po sprawdzeniu mo\u017cliwo\u015bci technicznych wersja php 8 zostanie zainstalowana. Nowa [&hellip;]","og_url":"https:\/\/www.statnet.pl\/blog\/hosting\/8-najwazniejszych-funkcji-w-php-8-0\/","og_site_name":"Blog","article_publisher":"https:\/\/www.facebook.com\/statnetpl\/","article_published_time":"2021-02-26T11:45:56+00:00","article_modified_time":"2023-12-14T09:00:49+00:00","og_image":[{"url":"https:\/\/www.statnet.pl\/blog\/wp-content\/uploads\/2021\/02\/php8.png","type":"","width":"","height":""}],"author":"maciej","twitter_card":"summary_large_image","twitter_misc":{"Napisane przez":"maciej","Szacowany czas czytania":"6 minut"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.statnet.pl\/blog\/hosting\/8-najwazniejszych-funkcji-w-php-8-0\/#article","isPartOf":{"@id":"https:\/\/www.statnet.pl\/blog\/hosting\/8-najwazniejszych-funkcji-w-php-8-0\/"},"author":{"name":"maciej","@id":"https:\/\/www.statnet.pl\/blog\/#\/schema\/person\/9af76a8413b5893790864f726e728d42"},"headline":"8 najwa\u017cniejszych funkcji w PHP 8.0","datePublished":"2021-02-26T11:45:56+00:00","dateModified":"2023-12-14T09:00:49+00:00","mainEntityOfPage":{"@id":"https:\/\/www.statnet.pl\/blog\/hosting\/8-najwazniejszych-funkcji-w-php-8-0\/"},"wordCount":1014,"publisher":{"@id":"https:\/\/www.statnet.pl\/blog\/#organization"},"image":{"@id":"https:\/\/www.statnet.pl\/blog\/hosting\/8-najwazniejszych-funkcji-w-php-8-0\/#primaryimage"},"thumbnailUrl":"https:\/\/www.statnet.pl\/blog\/wp-content\/uploads\/2021\/02\/php8.png","articleSection":["Hosting"],"inLanguage":"pl-PL"},{"@type":"WebPage","@id":"https:\/\/www.statnet.pl\/blog\/hosting\/8-najwazniejszych-funkcji-w-php-8-0\/","url":"https:\/\/www.statnet.pl\/blog\/hosting\/8-najwazniejszych-funkcji-w-php-8-0\/","name":"8 najwa\u017cniejszych funkcji w PHP 8.0 - Blog","isPartOf":{"@id":"https:\/\/www.statnet.pl\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.statnet.pl\/blog\/hosting\/8-najwazniejszych-funkcji-w-php-8-0\/#primaryimage"},"image":{"@id":"https:\/\/www.statnet.pl\/blog\/hosting\/8-najwazniejszych-funkcji-w-php-8-0\/#primaryimage"},"thumbnailUrl":"https:\/\/www.statnet.pl\/blog\/wp-content\/uploads\/2021\/02\/php8.png","datePublished":"2021-02-26T11:45:56+00:00","dateModified":"2023-12-14T09:00:49+00:00","breadcrumb":{"@id":"https:\/\/www.statnet.pl\/blog\/hosting\/8-najwazniejszych-funkcji-w-php-8-0\/#breadcrumb"},"inLanguage":"pl-PL","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.statnet.pl\/blog\/hosting\/8-najwazniejszych-funkcji-w-php-8-0\/"]}]},{"@type":"ImageObject","inLanguage":"pl-PL","@id":"https:\/\/www.statnet.pl\/blog\/hosting\/8-najwazniejszych-funkcji-w-php-8-0\/#primaryimage","url":"https:\/\/www.statnet.pl\/blog\/wp-content\/uploads\/2021\/02\/php8.png","contentUrl":"https:\/\/www.statnet.pl\/blog\/wp-content\/uploads\/2021\/02\/php8.png","width":800,"height":800},{"@type":"BreadcrumbList","@id":"https:\/\/www.statnet.pl\/blog\/hosting\/8-najwazniejszych-funkcji-w-php-8-0\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Strona g\u0142\u00f3wna","item":"https:\/\/www.statnet.pl\/blog\/"},{"@type":"ListItem","position":2,"name":"8 najwa\u017cniejszych funkcji w PHP 8.0"}]},{"@type":"WebSite","@id":"https:\/\/www.statnet.pl\/blog\/#website","url":"https:\/\/www.statnet.pl\/blog\/","name":"Blog","description":"Artyku\u0142y na blogu to \u017ar\u00f3d\u0142o wiedzy na temat najnowszych trend\u00f3w w hostingu. Odkryjmy razem, jak wykorzysta\u0107 technologi\u0119, aby zwi\u0119kszy\u0107 wydajno\u015b\u0107 i bezpiecze\u0144stwo Twojej strony.","publisher":{"@id":"https:\/\/www.statnet.pl\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.statnet.pl\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pl-PL"},{"@type":"Organization","@id":"https:\/\/www.statnet.pl\/blog\/#organization","name":"STATNET Online","url":"https:\/\/www.statnet.pl\/blog\/","logo":{"@type":"ImageObject","inLanguage":"pl-PL","@id":"https:\/\/www.statnet.pl\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.statnet.pl\/blog\/wp-content\/uploads\/2023\/12\/logo-statnet-online.png","contentUrl":"https:\/\/www.statnet.pl\/blog\/wp-content\/uploads\/2023\/12\/logo-statnet-online.png","width":612,"height":174,"caption":"STATNET Online"},"image":{"@id":"https:\/\/www.statnet.pl\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/statnetpl\/","https:\/\/www.linkedin.com\/company\/statnet"]},{"@type":"Person","@id":"https:\/\/www.statnet.pl\/blog\/#\/schema\/person\/9af76a8413b5893790864f726e728d42","name":"maciej","image":{"@type":"ImageObject","inLanguage":"pl-PL","@id":"https:\/\/secure.gravatar.com\/avatar\/02e25c9b5a3ce5f21524148cb105ca66e32d6b5d192b732c9f634142759060d0?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/02e25c9b5a3ce5f21524148cb105ca66e32d6b5d192b732c9f634142759060d0?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/02e25c9b5a3ce5f21524148cb105ca66e32d6b5d192b732c9f634142759060d0?s=96&d=mm&r=g","caption":"maciej"}}]}},"_links":{"self":[{"href":"https:\/\/www.statnet.pl\/blog\/wp-json\/wp\/v2\/posts\/243","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.statnet.pl\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.statnet.pl\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.statnet.pl\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.statnet.pl\/blog\/wp-json\/wp\/v2\/comments?post=243"}],"version-history":[{"count":7,"href":"https:\/\/www.statnet.pl\/blog\/wp-json\/wp\/v2\/posts\/243\/revisions"}],"predecessor-version":[{"id":258,"href":"https:\/\/www.statnet.pl\/blog\/wp-json\/wp\/v2\/posts\/243\/revisions\/258"}],"wp:attachment":[{"href":"https:\/\/www.statnet.pl\/blog\/wp-json\/wp\/v2\/media?parent=243"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.statnet.pl\/blog\/wp-json\/wp\/v2\/categories?post=243"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.statnet.pl\/blog\/wp-json\/wp\/v2\/tags?post=243"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}