PHPStan 0.9 byl ve vývoji 3,5 měsíce a počet novinek tomu odpovídá - obsahuje toho opravdu hodně. Zalíbilo se mi, jak GitHub sepisuje novinky ve vydaných verzích Gitu v lidštější formě, tak jsem se pokusil o to samé. Zjistěte, co vše je v PHPStanu nového!
Tento týden vyjde nová verze PHPStanu, která bude chápat váš kód opět o mnoho lépe. Zavádí mimo jiné tzv. intersection types. Jelikož jde o téma, které stojí na vlastních nohou (není ho vždy potřeba vázat se statickou analýzou) a všichni, kdo v dnešní době píšou moderní webové aplikace, by se o type theory měli zajímat, sepsal jsem porovnání union typů a intersection typů.
V polovině dubna jsem si vyzkoušel nový formát předávání zkušeností – přednášku přímo z obýváku. Naživo si mě naladilo asi 80 lidí, kteří měli možnost i klást otázka přes chat, na které jsem mezi připravenými bloky odpovídal. Byla to super zkušenost, kterou si rád zopakuji.
Asynchronní kód už dávno není doménou jen Node.js. Abyste si vyzkoušeli psát a provozovat aplikaci, která dokáže dělat více věcí naráz, nemusíte se učit programovat v jiné technologii, vystačíte si s PHP, které vás příjemně překvapí svým výkonem a možnostmi.\ Vysvětlíme si, co přesně asynchronnost znamená, kde všude se s ní dá setkat a kdy se vyplatí ji použít. Ukážeme si, jak přesně fungují promises a napíšeme si kód, který je využívá a poskytuje.\ V druhé polovině livestreamu pak předvedu konkrétní knihovny a postupy pro nejčastější I/O potřeby, tedy asynchronní HTTP požadavky, SQL dotazy a přístupy na filesystém.
Na livestream i záznam jsem měl skvělé ohlasy. Z jednoho projektu se mi ozvali s tím, že na základě mé přednášky vyměnili svůj dosavadní způsob paralelizace odchozích HTTP požadavků skrze forkování procesů právě za asynchronní princip s event loop a ušetřili tím spoustu paměti a výpočetního výkonu.
1. dubna jsem na konferenci Devel.cz mluvil o tom, jak si ušetřit práci při psaní testů, ale přesto mít spolehlivou aplikaci. Roli v tom hraje samozřejmě PHPStan, ale dodržování zmíněných tipů vede ke zvýšení čitelnosti a spolehlivosti kódu i bez použití statické analýzy.
Málokterý vývojář může s čistým svědomím tvrdit, že má 100 % kódu pokryto testy. Ale to nevadí. Ve většině reálných aplikací je nereálné a neekonomické toho dosáhnout. Ukážu, jak psát kód tak, aby vám na něj testy ani nechyběly, a přesto se na něj mohli spolehnout díky statické analýze. Představím nástroj PHPStan, který chyby v aplikaci hledá za vás. Po mé přednášce testy psát nepřestanete, ale zaměříte se s nimi na místa, kde se vyplatí.
Přednášku si můžete pustit se synchronizovanými slajdy zde, nebo mrkněte na oanotované slajdy níže.
Na začátku prosince 2016 jsem vydal PHPStan a od té doby se těší velké popularitě. Aktuálně má na GitHubu přes 1 300 hvězdiček a na Packagistu přes 30 000 stažení. Dělá mi velkou radost a baví mě na něm pracovat.
Na blogu PHPStanu jsem se rozepsal o tom, jak postupovat, pokud také chcete vytvořit užitečný, kvalitní a úspěšný open-source projekt. Spoiler alert: není to jen o kódu!
Loni v září jsem nasedl do auta a vydal se 600 kilometrů z Prahy na severovýchod k Varšavě. V odlehlém komplexu obřího hotelu Ossa se konala neméně obří konference PHPCon Poland 2016 s nabitým programem plným přednášek od místních i zahraničních speakerů. A já byl jedním z nich.
Připravil jsem si přednášku o RabbitMQ. Toto téma je mi velmi blízké, protože v PHP rád vyvádím netradiční věci odpoutané od klasického modelu „spusť se, vyřiď request a umři“. Použitím RabbitMQ či jiné message queue můžete zefektivnit svou aplikaci a třeba zařídit, aby vaši uživatelé obdrželi vyžádaný e-mail okamžitě a nikoli až při příštím spuštění skriptu pomocí Cronu.
Pokud si nechcete pouštět video, mrkněte na slidy. Jinak klikněte na ▶ níže: