Vitajte v októbrovom vydaní PHP anotovaného! Zhrnieme najzaujímavejší vývoj v komunite PHP za posledný mesiac a predstavíme vám ručne vybrané správy, články, nástroje a videá.
Vyšlo PHP 8.3.0 RC5
Ďalší kandidát na vydanie bol doručený podľa plánu. Šiesty RC sa očakáva 9. novembra a bude posledným pred finálnym vydaním PHP 8.3.
Podrobný zoznam toho, čo prichádza v PHP 8.3, nájdete na php.watch alebo stitcher.io.
Tu je niekoľko ďalších zdrojov o pripravovanej verzii, ktoré si možno budete chcieť pozrieť:
Nové chybové hlásenia PHP v PHP 8.3 od Damiena Seguya. Dobrým spôsobom, ako sa zoznámiť s vašou čoskoro novou verziou PHP, je prečítať si o jej chybových hláseniach.
Readonly klony, #[Override] a json_validate: čo je nové v PHP 8.3 od Brenta Roosea.
Živý prenos: Čo je nové v PHP 8.3 od Nuna Madura.
Vydania opráv chýb PHP 8.1.25 a PHP 8.2.12 sú teraz k dispozícii
O čom bol napokon ten záverečný hluk?
Ďalší menší rozruch v komunite PHP spôsobilo vydanie balíka stevebauman/unfinalize. Prechádza všetkými triedami knižníc v adresári `vendor` a odstraňuje konečné kľúčové slovo zo všetkých tried a metód.
Motiváciou pre Unfinalize je, že niektorí vývojári chcú mať možnosť rozšíriť triedy z balíčkov od dodávateľov. Ale správcovia balíkov označujú triedy ako konečné z dobrých dôvodov: Chcú ponechať niektoré triedy alebo metódy interné a byť schopní ich upravovať bez narušenia kódu používateľov.
Téma nie je vo svete CS novinkou a je známa ako problém krehkej základnej triedy.
V niektorých programovacích jazykoch, napríklad Kotlin, sú triedy štandardne konečné 😱. V iných sú modifikátory len konvenciami, ale ak ich nerešpektujete, aktualizácia vašich závislostí môže poškodiť vašu aplikáciu.
A práve tu pomôže atribút #[Override] z PHP 8.3! Ak z nejakého dôvodu potrebujete odstrániť záverečné z triedy a potom ju predĺžiť, v PHP 8.3 budete môcť svoje metódy označiť v podradenej triede pomocou #[Override]. V tomto prípade, ak sa zmenia metódy základnej triedy, budete upozornení.
About the author