{"id":184,"date":"2025-01-13T15:12:17","date_gmt":"2025-01-13T14:12:17","guid":{"rendered":"https:\/\/josefnemec.cz\/blog\/?p=184"},"modified":"2025-01-13T15:12:18","modified_gmt":"2025-01-13T14:12:18","slug":"novinky-v-nette-vylepsena-funkcionalita-dokumentace-a-budoucnost-s-php-8-5","status":"publish","type":"post","link":"https:\/\/josefnemec.cz\/blog\/php\/novinky-v-nette-vylepsena-funkcionalita-dokumentace-a-budoucnost-s-php-8-5\/","title":{"rendered":"Novinky v Nette: Vylep\u0161en\u00e1 funkcionalita, dokumentace a budoucnost s PHP 8.5"},"content":{"rendered":"\n<p>Nette, jeden z nejpopul\u00e1rn\u011bj\u0161\u00edch PHP framework\u016f, p\u0159ich\u00e1z\u00ed s \u0159adou vylep\u0161en\u00ed, kter\u00e1 posouvaj\u00ed hranice jeho mo\u017enost\u00ed. Tato nov\u00e1 verze nejen zrychluje b\u011bh aplikac\u00ed d\u00edky chytr\u00fdm optimalizac\u00edm, jako je lazy nahr\u00e1v\u00e1n\u00ed objekt\u016f, ale tak\u00e9 p\u0159in\u00e1\u0161\u00ed v\u00fdznamn\u00e9 zlep\u0161en\u00ed dokumentace, co\u017e usnad\u0148uje v\u00fdvoj\u00e1\u0159\u016fm pr\u00e1ci a zvy\u0161uje p\u0159\u00edstupnost frameworku. Pod\u00edvejme se podrobn\u011bji na tyto zm\u011bny a zamysleme se nad t\u00edm, co n\u00e1s \u010dek\u00e1 v budouc\u00ed verzi PHP 8.5.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Lazy nahr\u00e1v\u00e1n\u00ed objekt\u016f: Zrychlen\u00ed, kter\u00e9 ocen\u00ed ka\u017ed\u00fd v\u00fdvoj\u00e1\u0159<\/h2>\n\n\n\n<p>Jednou z nejv\u00fdznamn\u011bj\u0161\u00edch novinek v Nette je zaveden\u00ed tzv. lazy nahr\u00e1v\u00e1n\u00ed objekt\u016f (lazy loading). Tento koncept umo\u017e\u0148uje frameworku na\u010d\u00edtat objekty pouze v okam\u017eiku, kdy jsou skute\u010dn\u011b pot\u0159eba. V\u00fdsledkem je v\u00fdrazn\u00e9 sn\u00ed\u017een\u00ed n\u00e1rok\u016f na pam\u011b\u0165 a zrychlen\u00ed cel\u00e9 aplikace.<\/p>\n\n\n\n<p>Nap\u0159\u00edklad, pokud va\u0161e aplikace pracuje s datab\u00e1z\u00ed a pot\u0159ebuje na\u010d\u00edst data z n\u011bkolika tabulek, Nette nyn\u00ed dok\u00e1\u017ee odlo\u017eit na\u010dten\u00ed t\u011bchto dat, dokud se s nimi neza\u010dne p\u0159\u00edmo pracovat. To znamen\u00e1, \u017ee se v\u00fdrazn\u011b sni\u017euje po\u010det SQL dotaz\u016f prov\u00e1d\u011bn\u00fdch p\u0159i ka\u017ed\u00e9m po\u017eadavku.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Jednoduch\u00e9 zapnut\u00ed v konfiguraci<\/h3>\n\n\n\n<p>Jedn\u00edm z nejlep\u0161\u00edch aspekt\u016f t\u00e9to novinky je jej\u00ed jednoduch\u00e1 implementace. Sta\u010d\u00ed p\u0159idat jedin\u00fd \u0159\u00e1dek do konfigurace:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>nette:\n    database:\n        lazy: true\n<\/code><\/pre>\n\n\n\n<p>Tato zm\u011bna umo\u017e\u0148uje v\u00fdvoj\u00e1\u0159\u016fm snadno p\u0159ej\u00edt na nov\u00fd syst\u00e9m bez nutnosti slo\u017eit\u00e9ho p\u0159episov\u00e1n\u00ed aplikace. V\u00edce informac\u00ed naleznete v \u010dl\u00e1nku <a href=\"https:\/\/blog.nette.org\/cs\/jedna-radka-v-konfiguraci-zrychli-vasi-nette-aplikaci-jak-je-to-mozne\">&#8222;Jedna \u0159\u00e1dka v konfiguraci zrychl\u00ed va\u0161i Nette aplikaci&#8220;<\/a>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">V\u00fdsledky v praxi<\/h3>\n\n\n\n<p>Testy ukazuj\u00ed, \u017ee aplikace vyu\u017e\u00edvaj\u00edc\u00ed lazy nahr\u00e1v\u00e1n\u00ed mohou dos\u00e1hnout a\u017e o 40 % lep\u0161\u00edho v\u00fdkonu v z\u00e1vislosti na povaze aplikace a mno\u017estv\u00ed dat, se kter\u00fdmi pracuje. Tato optimalizace je proto vhodn\u00e1 zejm\u00e9na pro projekty s velk\u00fdmi datab\u00e1zemi nebo slo\u017eit\u00fdmi dotazy.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Nov\u00e1 dokumentace: Snadn\u011bj\u0161\u00ed p\u0159\u00edstup pro v\u0161echny<\/h2>\n\n\n\n<p>Nette je zn\u00e1m\u00e9 svou kvalitn\u00ed dokumentac\u00ed, kter\u00e1 je p\u0159\u00edstupn\u00e1 jak za\u010d\u00e1te\u010dn\u00edk\u016fm, tak zku\u0161en\u00fdm v\u00fdvoj\u00e1\u0159\u016fm. S posledn\u00edmi zm\u011bnami v dokumentaci datab\u00e1zov\u00e9ho modulu v\u0161ak tento standard posunulo na zcela novou \u00farove\u0148.<\/p>\n\n\n\n<p>Nov\u00fd pr\u016fvodce pro pr\u00e1ci s datab\u00e1z\u00ed, dostupn\u00fd na <a href=\"https:\/\/doc.nette.org\/cs\/database\/guide\">dokumenta\u010dn\u00ed str\u00e1nce<\/a>, je navr\u017een tak, aby pomohl v\u00fdvoj\u00e1\u0159\u016fm snadno pochopit kl\u00ed\u010dov\u00e9 koncepty a efektivn\u011b vyu\u017e\u00edvat v\u0161echny funkce datab\u00e1zov\u00e9ho modulu.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Hlavn\u00ed vylep\u0161en\u00ed v dokumentaci<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Lep\u0161\u00ed struktura:<\/strong> Dokumentace je nyn\u00ed logicky roz\u010dlen\u011bna do men\u0161\u00edch sekc\u00ed, co\u017e umo\u017e\u0148uje snadn\u011bj\u0161\u00ed orientaci. M\u016f\u017eete rychle p\u0159ej\u00edt k \u010d\u00e1stem v\u011bnovan\u00fdm konkr\u00e9tn\u00edm funkc\u00edm, jako je <code>Explorer<\/code> nebo pr\u00e1ci s transakcemi.<\/li>\n\n\n\n<li><strong>Praktick\u00e9 p\u0159\u00edklady:<\/strong> Ka\u017ed\u00e1 sekce obsahuje uk\u00e1zky k\u00f3du, kter\u00e9 lze okam\u017eit\u011b pou\u017e\u00edt v praxi. Nap\u0159\u00edklad n\u00e1sleduj\u00edc\u00ed p\u0159\u00edklad ukazuje, jak snadno vytvo\u0159it dotaz pomoc\u00ed <code>Exploreru<\/code>:<\/li>\n<\/ol>\n\n\n\n<pre class=\"wp-block-code\"><code>$rows = $explorer-&gt;table('users')-&gt;where('age &gt; ?', 18);\nforeach ($rows as $row) {\n    echo $row-&gt;name;\n}\n<\/code><\/pre>\n\n\n\n<ol start=\"3\" class=\"wp-block-list\">\n<li><strong>Propojen\u00ed s blogov\u00fdmi \u010dl\u00e1nky:<\/strong> Dokumentace obsahuje odkazy na souvisej\u00edc\u00ed blogov\u00e9 \u010dl\u00e1nky, nap\u0159\u00edklad <a href=\"https:\/\/blog.nette.org\/cs\/nette-database-dokumentace-ktera-posouva-hranice\">&#8222;Nette Database dokumentace, kter\u00e1 posouv\u00e1 hranice&#8220;<\/a>. Tyto \u010dl\u00e1nky poskytuj\u00ed hlub\u0161\u00ed vhled do jednotliv\u00fdch funkc\u00ed a jejich vyu\u017eit\u00ed v re\u00e1ln\u00fdch sc\u00e9n\u00e1\u0159\u00edch.<\/li>\n\n\n\n<li><strong>Interaktivn\u00ed p\u0159\u00edklady:<\/strong> N\u011bkter\u00e9 \u010d\u00e1sti dokumentace obsahuj\u00ed interaktivn\u00ed prvky, kter\u00e9 umo\u017e\u0148uj\u00ed v\u00fdvoj\u00e1\u0159\u016fm vyzkou\u0161et si k\u00f3d p\u0159\u00edmo v prohl\u00ed\u017ee\u010di.<\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\">Pro\u010d je nov\u00e1 dokumentace d\u016fle\u017eit\u00e1<\/h3>\n\n\n\n<p>Dobr\u00e1 dokumentace \u0161et\u0159\u00ed \u010das a eliminuje zbyte\u010dn\u00e9 chyby. Nov\u00e9 vylep\u0161en\u00ed v dokumentaci Nette zaji\u0161\u0165uje, \u017ee i slo\u017eit\u00e9 koncepty, jako je pr\u00e1ce s <code>Explorerem<\/code>, jsou snadno pochopiteln\u00e9 a aplikovateln\u00e9.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Budoucnost s PHP 8.5<\/h2>\n\n\n\n<p>Nette v\u017edy rychle p\u0159ij\u00edm\u00e1 novinky z nov\u00fdch verz\u00ed PHP a verze 8.5 nebude v\u00fdjimkou. Co m\u016f\u017eeme o\u010dek\u00e1vat od t\u00e9to nadch\u00e1zej\u00edc\u00ed verze PHP?<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Mo\u017en\u00e9 novinky v PHP 8.5<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Vylep\u0161en\u00ed v\u00fdkonu:<\/strong> S ka\u017edou novou verz\u00ed PHP p\u0159ich\u00e1zej\u00ed optimalizace v j\u00e1d\u0159e, kter\u00e9 zrychluj\u00ed b\u011bh aplikac\u00ed. V kombinaci s lazy loadingem v Nette mohou tyto zm\u011bny d\u00e1le sn\u00ed\u017eit latenci a zlep\u0161it u\u017eivatelskou zku\u0161enost.<\/li>\n\n\n\n<li><strong>Nov\u00e9 jazykov\u00e9 konstrukce:<\/strong> <a href=\"https:\/\/josefnemec.cz\/blog\/php\/co-vime-o-php-8-5\/\" data-type=\"post\" data-id=\"58\">PHP 8.5<\/a> by mohlo p\u0159in\u00e9st nov\u00e9 syntaxe nebo konstrukce, kter\u00e9 zjednodu\u0161\u00ed z\u00e1pis k\u00f3du. Nap\u0159\u00edklad dal\u0161\u00ed vylep\u0161en\u00ed pro pr\u00e1ci s typovou kontrolou nebo roz\u0161\u00ed\u0159en\u00ed funkcionality <code>match<\/code>.<\/li>\n\n\n\n<li><strong>Bezpe\u010dnostn\u00ed vylep\u0161en\u00ed:<\/strong> Bezpe\u010dnost je v\u017edy prioritou. PHP 8.5 pravd\u011bpodobn\u011b p\u0159inese lep\u0161\u00ed ochranu proti b\u011b\u017en\u00fdm hrozb\u00e1m, jako jsou \u00fatoky typu SQL injection nebo XSS.<\/li>\n\n\n\n<li><strong>Podpora pro modern\u00ed v\u00fdvojov\u00e9 n\u00e1stroje:<\/strong> S rostouc\u00ed popularitou Dockeru a CI\/CD pipeline m\u016f\u017eeme o\u010dek\u00e1vat zlep\u0161en\u00ed integrace s t\u011bmito n\u00e1stroji, co\u017e usnadn\u00ed nasazov\u00e1n\u00ed a spr\u00e1vu aplikac\u00ed.<\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\">Jak se na to p\u0159ipravit?<\/h3>\n\n\n\n<p>V\u00fdvoj\u00e1\u0159i by m\u011bli sledovat ofici\u00e1ln\u00ed kan\u00e1ly <a href=\"https:\/\/josefnemec.cz\/blog\/kategorie\/php\/\" data-type=\"category\" data-id=\"4\">PHP<\/a> a <a href=\"https:\/\/josefnemec.cz\/blog\/kategorie\/nette\/\" data-type=\"category\" data-id=\"28\">Nette<\/a>, aby z\u016fstali informov\u00e1ni o novink\u00e1ch. Doporu\u010duje se tak\u00e9 pravideln\u011b aktualizovat sv\u00e9 aplikace a testovat je na nov\u00fdch verz\u00edch PHP.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Jak to bude d\u00e1l? <\/h2>\n\n\n\n<p>Novinky v Nette, jako je lazy nahr\u00e1v\u00e1n\u00ed objekt\u016f a vylep\u0161en\u00e1 dokumentace, p\u0159edstavuj\u00ed v\u00fdznamn\u00fd krok vp\u0159ed pro tento framework. Tyto zm\u011bny nejen zrychluj\u00ed v\u00fdvoj, ale tak\u00e9 zlep\u0161uj\u00ed p\u0159\u00edstupnost a usnad\u0148uj\u00ed pr\u00e1ci v\u00fdvoj\u00e1\u0159\u016fm. Budoucnost s PHP 8.5 slibuje dal\u0161\u00ed zlep\u0161en\u00ed, kter\u00e1 posunou hranice toho, co lze v PHP dos\u00e1hnout.<\/p>\n\n\n\n<p>Sledujte ofici\u00e1ln\u00ed blog Nette a PHP, abyste z\u016fstali v obraze, a nev\u00e1hejte implementovat nov\u00e9 funkce, kter\u00e9 v\u00e1m mohou u\u0161et\u0159it \u010das a zdroje. Nette op\u011bt dokazuje, pro\u010d je jedn\u00edm z nejlep\u0161\u00edch n\u00e1stroj\u016f pro modern\u00ed webov\u00fd v\u00fdvoj.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Nette, jeden z nejpopul\u00e1rn\u011bj\u0161\u00edch PHP framework\u016f, p\u0159ich\u00e1z\u00ed s \u0159adou vylep\u0161en\u00ed, kter\u00e1 posouvaj\u00ed hranice jeho mo\u017enost\u00ed. Tato nov\u00e1 verze nejen zrychluje b\u011bh aplikac\u00ed d\u00edky chytr\u00fdm optimalizac\u00edm, jako je lazy nahr\u00e1v\u00e1n\u00ed objekt\u016f, ale tak\u00e9 p\u0159in\u00e1\u0161\u00ed v\u00fdznamn\u00e9 zlep\u0161en\u00ed dokumentace, co\u017e usnad\u0148uje v\u00fdvoj\u00e1\u0159\u016fm pr\u00e1ci<\/p>\n","protected":false},"author":1,"featured_media":185,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"advanced_seo_description":"","jetpack_seo_html_title":"","jetpack_seo_noindex":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[56,27,28,4,77],"tags":[29,62,47,10,63,49,48],"class_list":["post-184","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-docker","category-framework","category-nette","category-php","category-technologie","tag-latte","tag-nette","tag-php","tag-php8","tag-php85","tag-programovani","tag-webdesign"],"jetpack_featured_media_url":"https:\/\/i0.wp.com\/josefnemec.cz\/blog\/wp-content\/uploads\/2025\/01\/DALL%C2%B7E-2025-01-13-15.11.03-A-visually-appealing-conceptual-illustration-for-a-blog-article-about-the-Nette-PHP-framework.-The-image-should-feature-a-sleek-representation-of-the-.webp?fit=1024%2C1024&ssl=1","jetpack_sharing_enabled":true,"jetpack-related-posts":[],"_links":{"self":[{"href":"https:\/\/josefnemec.cz\/blog\/wp-json\/wp\/v2\/posts\/184","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/josefnemec.cz\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/josefnemec.cz\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/josefnemec.cz\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/josefnemec.cz\/blog\/wp-json\/wp\/v2\/comments?post=184"}],"version-history":[{"count":1,"href":"https:\/\/josefnemec.cz\/blog\/wp-json\/wp\/v2\/posts\/184\/revisions"}],"predecessor-version":[{"id":186,"href":"https:\/\/josefnemec.cz\/blog\/wp-json\/wp\/v2\/posts\/184\/revisions\/186"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/josefnemec.cz\/blog\/wp-json\/wp\/v2\/media\/185"}],"wp:attachment":[{"href":"https:\/\/josefnemec.cz\/blog\/wp-json\/wp\/v2\/media?parent=184"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/josefnemec.cz\/blog\/wp-json\/wp\/v2\/categories?post=184"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/josefnemec.cz\/blog\/wp-json\/wp\/v2\/tags?post=184"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}