PHP 8.2: Co je nového?
Nová verze PHP je již za rohem. O jakých nových implementacích byste měli vědět? Podívejte se na tento článek a zjistěte to!
Jako vývojář PHP si ještě pamatuji časy PHP4, první (volitelnou!) implementaci GC v PHP5 a prožil jsem _hype_ příchodu PHP7 a jeho důsledky.
V průběhu let se mě mnoho lidí ptalo, proč se obtěžuji. programování v PHP, a po mnoho let jsem jako mantru slýchal dva opakující se argumenty, proč bych měl přestat a začít psát komerční software v jazycích, jako je Java nebo C#.
Dnes budu citovat tyto argumenty a pokusím se změnit váš postoj k. PHP alespoň trochu. Ano, nadpis tohoto článku je absurdní clickbait.

PHP rok od roku umírá. Kdysi nejoblíbenější webový jazyk nyní ztrácí na popularitě měsíc od měsíce, a to především kvůli JavaScript.
Když se podíváte na čísla, zjistíte, že pravda je střízlivá! Za poslední rok, PHP ztratil neuvěřitelných 1,6% ze svého podílu jako backendový jazyk webu.
Pokud PHP pokračuje tento klesající trend, za 18 let PHP klesne pod 50% backendové webové technologie!

Ale dobře, vtipy stranou - i když čísla jsou skutečná. jak uvádí W3CTechs.
První zmínka o tom, že PHP umírá, lze nalézt na webu od roku 2013. Tehdy Software Gunslinger zveřejnil článek (který mimochodem vřele doporučuji!), že PHP zemře, protože nepodporuje dlouhotrvající procesy a protože mu chybí asynchronnost.
A to je fakt, PHP k tomu nebyl stvořen!
když máte jen kladivo, všechno vypadá jako hřebík.
Ale zpět k číslům - podívejme se na loňské údaje o PHP verze používané v balíčcích Packagist. Nejnovější údaje jsou k dispozici na zdrojových stránkách packagist.org

Je toto křivka přijetí nových verzí vymírajícího programovacího jazyka?
Pokud vám to nestačí, porovnejte naši "úmrtnost PHP" s jinými jazyky.
Údaje pro analýzu jsou převzaty zGitHut 2.0, který vygeneruje graf s počtem git push na jazyk do Githubu od roku 2012, podle schématu - "Procentuální rozložení jazyků v čárovém grafu ukazuje 10 nejčastějších (nebo ručně vybraných) jazyků od roku 2012/Q2".

Jak vidíte PHP stejně jako další populární jazyky, jako je Ruby, C/C++, Python zaznamenaly v posledních letech na Githubu výrazný pokles popularity, nicméně je zde patrný vzestupný trend a očekáváme, že se po delším období stagnace vrátí na vysoké pozice. (nejedná se o investiční poradenství)
Počáteční humbuk pro jazyk Javascript lze vidět ve stejném grafu. Závěry a jejich analýzu již nechám na vás, milí čtenáři.

Ale na druhou stranu - umírající jazyk by neměl mít tendenci zvyšovat počet pracovních nabídek pro programátory, že?

V okamžiku psaní tohoto článku si mohu vybírat ze 171 nabídek práce na jednom z předních pracovních portálů v České republice. Polsko, z nichž až 50 je určeno pro juniory. PHP umírá, že?

A když už mluvíme o penězích... věděli jste, že PHP a jeho zdroj kód je od listopadu 2021 udržována nezávislý Open Source komunitaNadace PHP který platí značné peníze vývojářům OpenSource za příspěvky do php-src?
Na rozdíl od jiných jazyků a frameworků, které jsou často ve vlastnictví velkých společností, je jádro vývoje tým je hrazen přímo z účtu nadace, který je veden z příspěvků soukromých společností, jako jsou JetBrains a Symfony Corp, ale také z příspěvkůmalé příspěvky od jednotlivých vývojářů.
Open Source v celé své kráse!
Ano, tento argument vždy zaznívá z úst vývojářů, kteří se seznámili se silně typovanými, srovnatelnými jazyky.
Při pohledu na graf údajů shromážděných běhemPrůzkum StackOverflow 2021, můžete vidět, že až 10 834 respondentů, což představuje téměř 60% z celkového počtu, považuje PHP za "hrozný".

Jako člověk ze staré školy Programátor PHP, chápu, proč tomu tak je. Okamžitě se mi vybaví klasický příklad problémů s pamětí ve PHP:
<?php
třída FOO {
public $f;
}
třída BAR {
public $f;
}
while(1) {
$a = new FOO();
$b = new BAR();
$a->f = $b;
$b->f = $a;
print "Memory usage: ". number_format(memory_get_usage(true)) . " bytesn";
unset($a);
unset($b);
}
Pro nezasvěcené - ano, výše uvedený kód způsobuje chybu paměti. A je toho víc. Od idiotského pojmenování metod a naprosté absence logiky v pořadí jejich parametrů (ano, všichni milujeme str_ a array_) na nejznámější chybu PHP T_PAAMAYIM_NEKUDOTAYIM - PHP je plný podivností a nectností starých verzí. To však neznamená, že to, co jsme slyšeli o PHP před několika lety, stále platí. Jazyk prošel obrovskou metamorfózou a dnes se rád podívám na své definice objektů:
readonly třída NotificationEvent
{
public function __construct(
public string $context,
public User $user,
public string $body,
public DateTime $issuedAt,
) {}
}
A co víc, Ekosystém PHP se velmi rozrostl a nyní máme neuvěřitelné možnosti vytvářet dobrý, vysoce typizovaný a dobře otestovaný kód. Můžeme používat Symfony k vývoji aplikací DDD bez větších problémů a problém synchronizace PHP můžeme obejít pomocí sběrnice Message Bus.
A i když si sám nemyslím. PHP je vhodný pro vytváření dlouhotrvajících backendových procesů a má velké problémy s výkonem, pokud jde o synchronizaci stavu.vytvořil hru pro konzoli PHP pomocí Symfony + Docker vlastníma rukama jako příklad toho, že PHP může mít i netradiční využití.
Další výhoda PHP je nízká vstupní bariéra pro nové vývojáře. Dokumentace dvou populárních frameworků Symfony aLaravel a PHP samotná dokumentace stačí k tomu, abyste s jejich pomocí vstoupili do světa backendu. Svět, který není v PHP dokonalý, ale umožňuje mnohé. Použití dalších knihoven, jako např. Laravel Nova jsme schopni vytvořit téměř jakoukoli součást našeho systému pomocí pouhých dvou příkazů.
Je PHP umíráte?
Ne, ale má problém s image a potřebuje hodně práce, aby se zlepšila. Tuto práci musíme odvést my, programátoři, tím, že budeme učit novou generaci a předávat jí osvědčené postupy ve formě článků, knihoven a tipů.
Jako jazyk, který byl na trh po dobu dvaceti let, která již přežila více než jeden humbuk (Pamatujete si na Objective-C?) Myslím, že si poradí a najde si svou mezeru.
A kdo ví, třeba se mé předpovědi ukáží jako správné a PHP 10.x za dva roky opět zažije boom?
