Jak správně updatovat Nette

před 5 lety od David Grudl  

„Nette je skvěle zpětně kompatibilní. Přechod z Nette 0.9 na 2.4 mi zabral na poměrně rozsáhlé aplikaci jedno odpoledne. To naprosto skvělý výsledek!“ prohlásil jeden spokojený uživatel. Přinášíme pár tipů, jak aktualizovat projekt na nejnovější verzi Nette.

Stoupejte po jednotlivých verzích

Tj. nejprve aktualizujte na Nette 2.3, poté 2.4, a pak teprve na 3.0. Důvod je ten, že pokud se v Nette nějaká vlastnost změní nebo odstraní, děje se tak v postupných krocích trvajících i několik let. Nejprve je vlastnost jen označena v kódu jako deprecated (silently deprecated), takže si můžete třeba všimnout přeškrtnutí jména metody v editoru, v další velké verzi emituje hlášku E_USER_DEPRECATED, ale funkčnost je zachována, a teprve ve třetí verzi je odstraněna.

Nette se snaží, aby ony hlášky byly maximálně srozumitelné a návodné (např. Syntax {!$var} is deprecated, use {$var|noescape} on line 123), abyste mohli zastaralé věci snadno aktualizovat.

Pokud byste přeskočili několik verzí, mohli byste přijít o tuto důležitou fázi.

Začínejte bez E_USER_DEPRECATED

Před testováním nové verze je vhodné nejprve vypnout hlášení chyb E_USER_DEPRECATED:

$configurator->enableDebugger();
error_reporting(~E_USER_DEPRECATED); // až po spuštění Tracy a všimněte si ~

Nyní můžete vyzkoušet, zda vše funguje jak má, bez upozorňování na zapovězené věci. Pokud vše funguje, hlášky zase povolte a upravte podle nich kód.

Čtěte dokumentaci

Všechny migrační návody najdete v dokumentaci. Pokud byste ve firmě potřebovali s aktualizací pomoci, jsme vám k dispozici.