Co už víme o PHP 8.5

Co už víme o PHP 8.5

PHP 8.5, má plánované vydání 20. listopadu 2025, přináší několik novinek a změn, které ovlivní vývojáře pracující s tímto populárním skriptovacím jazykem.

Nové funkce v PHP 8.5

  • Funkce curl_multi_get_handles: Tato nová funkce v rozšíření cURL umožňuje získat seznam všech aktivních cURL handle v multi handle.To usnadňuje správu a ladění více současných cURL požadavků.
  • Konstanta PHP_BUILD_DATE: PHP 8.5 zavádí novou vestavěnou konstantu PHP_BUILD_DATE, která obsahuje datum a čas kompilace aktuální PHP verze. Tato informace může být užitečná pro diagnostiku a správu verzí v různých prostředích.

Odebrané funkce v PHP 8.5

  • Konstanty MHASH_*: Všechny konstanty začínající na MHASH_ byly v PHP 8.5 označeny jako zastaralé. Tyto konstanty byly spojeny s původním rozšířením mhash, které bylo již dříve nahrazeno modernějším rozšířením hash. Doporučuje se aktualizovat kód a přejít na nové funkce poskytované rozšířením hash pro zajištění kompatibility s budoucími verzemi PHP.

PHP 8.5 pokračuje v trendu zavádění užitečných funkcí a odstraňování zastaralých prvků, čímž zajišťuje moderní a efektivní prostředí pro vývoj webových aplikací.

Novinky v PHP 8.4

Novinky v PHP 8.4

Novinky v PHP 8.4: Co nám přináší nejnovější verze?

PHP 8.4 přichází s celou řadou vylepšení a nových funkcí, které zjednoduší práci vývojářům a zvyší výkon jejich aplikací. Pojďme se podívat na nejvýznamnější změny, které tato verze nabízí.


Zabezpečení a kryptografie

V oblasti kryptografie dochází k rozšíření podpory o algoritmy AEGIS-128L a AEGIS-256 v knihovně Sodium. Tyto algoritmy nabízejí větší flexibilitu při implementaci bezpečných řešení.


Práce s poli

PHP 8.4 zavádí nové funkce pro jednodušší manipulaci s poli:

  • array_find – Najde první prvek splňující podmínku.
  • array_find_key – Vrátí klíč prvku splňujícího podmínku.
  • array_any – Zjistí, zda alespoň jeden prvek pole splňuje danou podmínku.
  • array_all – Zkontroluje, zda všechny prvky pole splňují podmínku.

Práce s textem

Pro efektivnější práci s textem byly přidány tyto novinky:

  • grapheme_str_split – Rozdělí text na části podle grafémů, což je užitečné pro unicode texty.
  • mb_ucfirst a mb_lcfirst – Provádí změnu velkých a malých písmen u prvního znaku textu s podporou multibyte znaků.
  • mb_trim, mb_ltrim, mb_rtrim – Odstraňují mezery nebo jiné znaky z textu s podporou multibyte znaků.

Funkce pro zaokrouhlování

Funkce round() nyní podporuje nové režimy zaokrouhlování, což dává vývojářům větší kontrolu nad způsobem, jakým jsou čísla zaokrouhlována.


Vylepšení pro práci s daty a časem

PHP 8.4 přináší významná rozšíření třídy DateTime a DateTimeImmutable:

  • createFromTimestamp – Nový způsob, jak vytvořit instance těchto tříd z timestampu.
  • getMicrosecond a setMicrosecond – Metody pro získání a nastavení mikrosekund.

Curl: Podpora HTTP/3 a další zlepšení

Knihovna Curl přidává podporu pro HTTP/3 pomocí nových konstant CURL_HTTP_VERSION_3 a CURL_HTTP_VERSION_3ONLY. Dále byly přidány tyto novinky:

  • CURLOPT_PREREQFUNCTION a CURLOPT_DEBUGFUNCTION – Nové možnosti pro lépe definované a debugovací procesy.
  • CURLOPT_SERVER_RESPONSE_TIMEOUT – Nahrazuje původní CURLOPT_FTP_RESPONSE_TIMEOUT.
  • CURLOPT_TCP_KEEPCNT – Nastaví počet kontrol živých spojení TCP.

Další zajímavé novinky

  • phpinfo() nyní zobrazuje velikost integeru.
  • Nová funkce request_parse_body umožňuje jednodušší zpracování těla HTTP požadavků.
  • Funkce curl_version() podporuje zobrazení seznamu vlastností pomocí feature_list.
  • Nová rozhraní http_get_last_response_headers a http_clear_last_response_headers poskytují lepší kontrolu nad HTTP hlavičkami.

Upgrade PCRE2 a změny v regulárních výrazech

PHP 8.4 zahrnuje upgrade knihovny PCRE2, což zlepšuje podporu pro regulární výrazy a jejich výkon.


PHP 8.4 nabízí mnoho užitečných novinek, které stojí za vyzkoušení. Pokud chcete zůstat na špičce vývoje, neváhejte a přejděte na tuto verzi. S kompletním přehledem změn se můžete seznámit na PHP WATCH.

Latte – Šablonovací jazyk pro moderní weby

Latte – Šablonovací jazyk pro moderní weby

Latte je populární šablonovací jazyk vytvořený pro PHP, který klade důraz na bezpečnost, přívětivost a flexibilitu. Jedná se o nástroj určený primárně pro vytváření HTML stránek, který zjednodušuje práci s prezentací dat a odděluji logiku aplikace od jejího vzhledu.


Klíčové vlastnosti Latte

  1. Bezpečnost
    • Latte automaticky escapuje všechny výstupy, aby zabránilo XSS útokům.
    • Nabízí jednoduchý způsob, jak pracovat s proměnými, bez obav z potenciálních bezpečnostních rizik.
  2. Srozumitelnost
    • Syntaxe je intuitivní a snadno pochopitelná i pro začátečníky.
    • Podporuje jednoduché čtení a udržování šablon.
  3. Flexibilita
    • Lze jej snadno rozšířit pomocí vlastních filtrů a funkcí.
    • Podporuje složitější konstrukty, jako jsou podmínky, cykly nebo makra.

Latte 3: Impozantní skok vpřed

Latte 3 přináší mnoho vylepšení a novinek, které zvyšují jeho rychlost, flexibilitu a přizpůsobitelnost.

Hlavní novinky v Latte 3

  1. Deklarace typů
    • Latte nyní podporuje deklaraci typů proměných přímo v šablonách: {var string $name} <h1>Ahoj, {$name}!</h1>
  2. Výrazně rychlejší kompilace
    • Latte 3 bylo optimalizováno pro lepší výkon při zpracování šablon.
  3. Podpora pro Twig-like syntax
    • Nově lze používat alternativní notaci podobnou Twig: {% if user %} <p>Vítám tě, {{ user.name }}!</p> {% endif %}
  4. Zjednodušené makro pro cykly
    • Možnost použít elegantní iteraci přes pole: {foreach $items as $item} <li>{$item}</li> {/foreach}
  5. Lepší diagnostika
    • Latte nyní poskytuje detailnější chybové hlášky, které usnadňují ladění šablon.

Základní příklady Latte

1. Podmínky

{if $isLoggedIn}
    <p>Vítáme tě zpět!</p>
{else}
    <p>Prosím, přihlašte se.</p>
{/if}

2. Výpis dat

<ul>
    {foreach $users as $user}
        <li>{$user->name}</li>
    {/foreach}
</ul>

3. Komentáře

{* Toto je komentář v Latte *}

4. Použití filtrů

<p>{date $article->createdAt, 'd.m.Y'}</p>

Proč používat Latte?

Latte je ideální volbou pro projekty, kde je důležitá bezpečnost, rychlost a snadná udržitelnost kódu. S verzí Latte 3 se tento šablonovací jazyk posouvá ještě dále a přináší nástroje pro moderní webové aplikace.

Propojení Latte a Nette

Latte je úzce propojené s frameworkem Nette, který ho používá jako svůj nativní šablonovací jazyk. Nette poskytuje robustní integraci, která umožňuje snadnou práci s daty z presenterů přímo v šablonách. Tato kombinace zajišťuje hladký průběh vývoje aplikací s jasně oddělenou logikou a prezentací.

Co je to PHP?

Co je to PHP?

PHP je populární skriptovací jazyk určený především pro vývoj webových aplikací. Díky své jednoduchosti, flexibilitě a široké podpoře se stal jedním z nejpoužívanějších jazyků pro tvorbu webů a aplikací. PHP je zkratka pro „PHP: Hypertext Preprocessor,“ což odkazuje na jeho schopnost zpracovávat a generovat dynamický obsah webových stránek.


Stručná historie PHP

PHP vzniklo v roce 1994 jako projekt Rasmuse Lerdorfa, který jej původně vytvořil pro sledování návštěv svého osobního webu. Z jednoduchého nástroje se postupem času vyvinul plnohodnotný programovací jazyk, který je dnes základem milionů webových stránek.

Hlavní milníky:

  • 1995: Vydána první verze „Personal Home Page Tools“.
  • 1997: Přechod na PHP 3, kde bylo přidáno API a jazyk získal výrazně lepší strukturu.
  • 2004: Představení PHP 5 s podporou objektově orientovaného programování.
  • 2020: PHP 8 přineslo výrazné zlepšení výkonu díky JIT kompilaci.

Vlastnosti PHP

  1. Server-side jazyk: PHP běží na serveru, což znamená, že uživatel dostává pouze výsledný HTML, nikoliv samotný kód.
  2. Jednoduchost a přístupnost: Snadná syntaxe a možnost rychlého učení dělají z PHP ideální jazyk pro začátečníky.
  3. Flexibilita: Podporuje různé databáze (např. MySQL, PostgreSQL, SQLite) a webové servery (např. Apache, Nginx).
  4. Bohatá komunita: Díky velké základně vývojářů existuje mnoho knihoven, frameworků (např. Laravel, Symfony, Nette) a nástrojů pro usnadnění vývoje.
  5. Rozšířitelnost: PHP umožňuje přidávání vlastních rozšíření v jazycích jako C/C++.

Jak to vlastně fachčí?

  1. Uživatel odešle požadavek na server.
  2. PHP zpracuje požadavek: Skripty v PHP se spustí na serveru.
  3. Vygenerovaný obsah: PHP skript vytvoří dynamický obsah (např. HTML, JSON, obrázky).
  4. Odeslání výsledku: Server pošle uživateli výsledný obsah.

Jak se používá?

PHP se používá pro:

  • Tvorbu dynamických webových stránek: Správa obsahu, uživatelská interakce apod.
  • Vývoj webových aplikací: Například internetové obchody, fóra nebo CRM systémy.
  • API: PHP lze využít k tvorbě RESTful a GraphQL API.
  • Automatizaci úkolů: Například generování reportů nebo zpracování dat.

Plusi a mínusy PHP

Plus:

  • Snadné nasazení na většině hostingových platforem.
  • Rychlý vývoj díky integrovaným funkcím.
  • Široká komunita a množství dostupných nástrojů.

Mínus:

  • Nižší výkon u velmi složitých aplikací ve srovnání s některými jinými jazyky.
  • Závislost na kvalitě kódu: Nedostatečná znalost může vést k bezpečnostním problémům.

Proč používat PHP?

PHP je skvělou volbou pro vývojáře, kteří hledají snadno přístupný, flexibilní a dobře podporovaný nástroj pro tvorbu webů. Jeho popularita a dlouholetá historie dokazují, že jde o spolehlivý jazyk, který je i nadále aktivně vyvíjen a používán.

Pokud chcete začít s PHP, stačí jen základní znalosti HTML a trocha nadšení. Díky bohatým zdrojům online tutoriálů, komunitě a dokumentaci se snadno naučíte vše potřebné k tvorbě svých vlastních projektů.

Co je Nette?

Nette je moderní PHP framework, který se zaměřuje na usnadnění a urychlení vývoje webových aplikací. Je určen jak pro začátečníky, tak i pro profesionály. Nette poskytuje robustní základ pro vývoj bezpečných, škálovatelných a udržitelných aplikací.

Výhody Nette při vývoji aplikací

Zde je shrnutí hlavních výhod, které Nette přináší:

  1. Bezpečnost
    Nette chrání aplikace před nejčastějšími bezpečnostními hrozbami, jako je XSS, CSRF nebo SQL Injection. Má integrované mechanizmy, které pomáhají vývojářům psát bezpečný kód.
  2. Latte šablonovací systém
    Šablonovací systém Latte je snadno čitelný a přehledný. Umožňuje vývojářům psát logiku přímo do šablon, aniž by zasahovali do PHP kódu. Pomáhá také předcházet bezpečnostním chybám (například automaticky escapuje výstup).
  3. Flexibilita
    Nette podporuje různé způsoby vývoje aplikací. Můžete si zvolit komponentový přístup, používat MVC architekturu nebo jednoduše přidat části frameworku do existující aplikace.
  4. Inteligentní router
    Routing v Nette je jednoduchý a efektivní. Nabízí například laditelný systém pro definování URL cest, který umožňuje snadno propojit URL adresy s logikou aplikace.
  5. Komponentový systém
    Nette má propracovaný systém komponent, který umožňuje opakované použití částí uživatelského rozhraní. Komponenty lze snadno spravovat a integrovat do různých částí aplikace.
  6. Debugger a Tracy
    Nette obsahuje nástroj Tracy, který usnadňuje odhalování chyb. Tracy zobrazuje srozumitelný výpis chybových hlášek a umožňuje snadné ladění aplikace.
  7. Výkonnost a efektivita
    Framework je navržen tak, aby byl rychlý a efektivní, s minimálními požadavky na serverové prostředky.
  8. Podpora AJAXu
    Nette usnadňuje implementaci AJAX funkcí. Můžete jednoduše aktualizovat části stránky bez nutnosti jejího znovunačtení.
  9. Komunita a dokumentace
    Nette má silnou komunitu a kvalitní dokumentaci. Nabízí rychlou podporu a příklady kódu, které pomohou vývojářům při řešení problémů.
  10. Rozšiřitelnost
    Nette je modulární framework, což znamená, že si můžete vybrat jen ty části, které skutečně potřebujete. Lze ho snadno integrovat s dalšími knihovnami nebo rozšířeními.

Závěr:
Nette je ideální volbou pro vývoj webových aplikací díky své bezpečnosti, snadné použitelnosti a široké sadě funkcí. Nabízí skvělý poměr mezi jednoduchostí a robustností, což z něj dělá jeden z nejoblíbenějších PHP frameworků v českém prostředí.

Co je PHP a proč je stále populární?

PHP je jedním z nejznámějších a nejpoužívanějších programovacích jazyků pro vývoj webových aplikací. Název PHP původně znamenal „Personal Home Page“, dnes však stojí za zkratkou „PHP: Hypertext Preprocessor“. Tento serverový jazyk byl navržen tak, aby usnadnil vytváření dynamických webových stránek, tedy takových, které mohou měnit svůj obsah v závislosti na uživatelských požadavcích nebo jiných faktorech.

Proč je PHP důležité?

PHP se objevilo v roce 1995 a od té doby prošlo významným vývojem. Jednou z jeho největších výhod je jednoduchost a nízká vstupní bariéra. Díky tomu je ideální pro začínající programátory. Kromě toho je PHP open-source, což znamená, že je zdarma dostupné a má rozsáhlou komunitu, která neustále přispívá k jeho rozvoji.

Jak PHP funguje?

Na rozdíl od HTML nebo JavaScriptu, které běží v prohlížeči, PHP běží na serveru. Když uživatel požádá o stránku napsanou v PHP, server ji nejprve zpracuje a výsledný výstup (obvykle HTML) odešle do prohlížeče.

Například kód:

<?php
echo "Dnes je: " . date("d.m.Y");
?>

na serveru vygeneruje HTML:

Dnes je: 30.12.2024

Tento přístup umožňuje vytvářet weby, které reagují na uživatelské vstupy nebo načítají data z databází.

Kde se PHP používá?

PHP je často spojováno s webovými platformami jako WordPress, Drupal nebo Joomla, které jsou postaveny na tomto jazyce. Používá se také pro vývoj vlastních webových aplikací, od jednoduchých formulářů po komplexní e-shopy nebo sociální sítě.

Například:

  • E-shopy: PHP může generovat katalog produktů, spravovat uživatelské účty nebo zpracovávat objednávky.
  • Blogy: Díky PHP můžete snadno spravovat a zobrazovat obsah.
  • API: PHP často slouží jako backend pro různé aplikace, které komunikují přes REST nebo GraphQL.

Jednoduchý příklad použití PHP

Uvažujme jednoduchou aplikaci, která zobrazuje, zda je dnes víkend:

<?php
$den = date("l"); // Získá aktuální den v týdnu (např. "Monday")
if ($den == "Saturday" || $den == "Sunday") {
    echo "Dnes je víkend!";
} else {
    echo "Dnes je pracovní den.";
}
?>

Pokud je dnes pondělí, výstupem bude:

Dnes je pracovní den.

Výhody a nevýhody PHP

Výhody:

  • Snadné na naučení a použití.
  • Velká komunita a množství knihoven.
  • Dobrá podpora pro práci s databázemi (např. MySQL).
  • Skvělá integrace s webovými servery jako Apache nebo Nginx.

Nevýhody:

  • Kvůli své jednoduchosti může být snadno zneužito nezkušenými programátory, což vede k bezpečnostním problémům.
  • Někteří kritici tvrdí, že PHP je méně „moderní“ ve srovnání s jinými jazyky, jako je Python nebo JavaScript.

Jak začít s PHP?

  1. Instalace: Nainstalujte si balík jako XAMPP nebo WAMP, který obsahuje PHP, MySQL a Apache.
  2. Editor: Vyberte si textový editor, např. VS Code, který podporuje zvýraznění syntaxe PHP.
  3. První skript: Vytvořte soubor index.php a zkuste jednoduchý kód, např.:
<?php
echo "Hello, world!";
?>
  1. Prohlížení: Uložte soubor do složky serveru (např. htdocs) a otevřete jej v prohlížeči.

PHP je stále relevantní a oblíbenou volbou pro mnoho vývojářů. I když existují nové technologie, jeho jednoduchost a robustnost z něj činí vynikající jazyk pro různé typy projektů.

Co je Nette a proč byste ho měli používat?

Nette je populární český PHP framework pro tvorbu webových aplikací. Je známý svou jednoduchostí, bezpečností a efektivitou. Poskytuje nástroje pro usnadnění vývoje, od strukturovaného návrhu aplikací až po práci s databázemi, formuláři a šablonami. Díky Nette se můžete soustředit na logiku aplikace a méně se starat o technické detaily.

Hlavní vlastnosti Nette

  1. Modularita: Nette je složené z jednotlivých komponent, které lze použít samostatně (např. Latte, Tracy, Forms).
  2. Bezpečnost: Framework chrání proti nejčastějším hrozbám, jako je SQL injection, XSS nebo CSRF.
  3. Flexibilita: Nette se přizpůsobí potřebám vývojáře a podporuje různé přístupy k vývoji.
  4. Snadné učení: Dokumentace je rozsáhlá a komunitní podpora velmi aktivní.

Ukázka struktury Nette aplikace

Typická struktura aplikace v Nette vypadá takto:

/project
  /app
    /Presenters
    /Templates
    /Components
  /www
    index.php
  /vendor
  config.neon
  composer.json
  • /app obsahuje hlavní logiku aplikace.
  • /www je veřejný adresář přístupný z prohlížeče.
  • config.neon slouží k nastavení aplikace.

Příklad jednoduchého presenteru

Presenter je třída, která zpracovává požadavky a vrací odpovědi. Například HomepagePresenter:

<?php
namespace App\Presenters;

use Nette\Application\UI\Presenter;

class HomepagePresenter extends Presenter
{
    public function renderDefault(): void
    {
        $this->template->greeting = 'Vítejte v Nette!';
    }
}

Šablona pro tento presenter (Homepage/default.latte):

<!DOCTYPE html>
<html lang="cs">
<head>
    <meta charset="UTF-8">
    <title>Nette Aplikace</title>
</head>
<body>
    <h1>{$greeting}</h1>
</body>
</html>

Výstupem bude stránka s textem „Vítejte v Nette!“.

Práce s formuláři

Nette usnadňuje tvorbu formulářů. Například formulář pro přihlášení:

$form = new Nette\Application\UI\Form;
$form->addText('username', 'Uživatelské jméno:')->setRequired();
$form->addPassword('password', 'Heslo:')->setRequired();
$form->addSubmit('login', 'Přihlásit se');

$form->onSuccess[] = function ($form, $values) {
    // Zpracování přihlášení
    echo 'Přihlášen jako: ' . $values->username;
};

return $form;

Proč používat Nette?

  1. Rychlý vývoj: Díky mnoha vestavěným funkcím a komponentám.
  2. Bezpečnost: Výchozí nastavení chrání aplikaci před běžnými útoky.
  3. Komunita: Aktivní česká i mezinárodní komunita a skvělá dokumentace.
  4. Škálovatelnost: Od malých projektů po rozsáhlé aplikace.

Jak začít s Nette?

  1. Nainstalujte Composer: Nette využívá Composer pro správu závislostí.
  2. Vytvořte nový projekt:
composer create-project nette/web-project moje-aplikace
  1. Spusťte vestavěný server:
php -S localhost:8000 -t www
  1. Prozkoumejte dokumentaci: https://doc.nette.org

Nette je ideální volbou pro každého, kdo chce vytvářet robustní a bezpečné webové aplikace v PHP.