PHP 8 nebude podporovat @ pro umlčení

uzziel
Člen | 46
+
0
-

Na produkci lze dat display_errors = off , ale na dev verzi to bude dost hlaškovat, jelikož Nette používá @ všude, kde „není důvod“ použít if nebo výjimky.

Tak co vy na to – budete přepísovat nebo to odignorujete?

Pavel Kravčík
Člen | 1180
+
0
-

Předpokládám (doufám!), že většina míst bude mít nově nativně výjimky, tudíž @ samo sobě ztratí význam a bude se přepisovat.

David Grudl
Nette Core | 8111
+
0
-

Nějaký zdroj té informace?

Martk
Člen | 652
+
0
-

Všude, kde není důvod?

Každý tvůj příspěvek je jen rýpání, pak se nediv, že na tebe takhle reagují.

https://stitcher.io/…new-in-php-8

Týká se to jen fatálních chyb

Oficiální https://github.com/…er/UPGRADING#…

Editoval Martk (28. 2. 2020 9:31)

uzziel
Člen | 46
+
0
-

Pavel Kravčík napsal(a):

Předpokládám (doufám!), že většina míst bude mít nově nativně výjimky, tudíž @ samo sobě ztratí význam a bude se přepisovat.

Tak to GL tomu kdo pojede soubor po souboru – https://github.com/…erLoader.php#L102

Editoval uzziel (28. 2. 2020 9:30)

uzziel
Člen | 46
+
0
-

Martk napsal(a):

Všude, kde není důvod?

Každý tvůj příspěvek je jen rýpání, pak se nediv, že na tebe takhle reagují.

https://stitcher.io/…new-in-php-8

Týká se to jen fatálních chyb

To odignorování je myšleno ve stylu „nette to má jinak a basta“.

Tyká se to errorů, takže error.

David Matějka
Moderator | 6445
+
0
-

uzziel napsal(a):

Tyká se to errorů, takže error.

týká se to fatal errorů

The @ operator no longer silences fatal errors

a ten operátor @ se v nette téměř vždy používá v io operacích, které většinou generují warning

uzziel
Člen | 46
+
0
-

David Matějka napsal(a):

uzziel napsal(a):

Tyká se to errorů, takže error.

týká se to fatal errorů

The @ operator no longer silences fatal errors

a ten operátor @ se v nette téměř vždy používá v io operacích, které většinou generují warning

Generuji warningy, když se s tím pracuje bez ošetření.

David Matějka
Moderator | 6445
+
0
-

ano, proto je tam ten shut-up operátor, aby se ten warning nezobrazil. a dle toho článku to bude fungovat i nadále. nebo co se snažíš říct?

uzziel
Člen | 46
+
0
-

Třeba jsem chtěl zapnout tracy na serveru pro určitou IP (7.2 a nette 3) a hodilo mi to výjimku kvůli nemožnosti nastavit $orig, jelikož $meta[2] byla null, protože $meta byl neexistující soubor.

https://github.com/…erLoader.php#L103

David Matějka
Moderator | 6445
+
0
-

wtf? teď už vůbec nechápu souvislost.
to, na na upozorňuješ, byl bug, který je opravený – i v tom kódu, na který odkazuješ. viz https://github.com/…a089f529de6d

uzziel
Člen | 46
+
-2
-

David Matějka napsal(a):

wtf? teď už vůbec nechápu souvislost.
to, na na upozorňuješ, byl bug, který je opravený – i v tom kódu, na který odkazuješ. viz https://github.com/…a089f529de6d

Ha, já mám pořád zabugovánou verzi.

Možná by to chtělo dát informace i zde, že vyšla nová verze – https://blog.nette.org

Martk
Člen | 652
+
+2
-

https://nette.org/cs/releases

Ale většinou používám composer outdated -D

Mysteria
Člen | 797
+
0
-

uzziel napsal(a):

Na produkci lze dat display_errors = off , ale na dev verzi to bude dost hlaškovat, jelikož Nette používá @ všude, kde „není důvod“ použít if nebo výjimky.

Tak co vy na to – budete přepísovat nebo to odignorujete?

Za prvé, na produkci musí být display_errors vypnuto v každém případě, nikdo soudný tohle nemůže mít zapnuté.
Za druhé, když jsem si přečetl všechny tvoje příspěvky (žádné konstruktivní, všechno jenom ve stylu Nette je na prd, jinde je to lepší), tak se nemůžeš divit že ti všichni odpovídají tak jak odpovídají – jak se do lesa volá, tak se z něj ozývá.

Btw například Symfony používá @ taky a kupodivu taky při práci s souborovým systémem – https://github.com/…lesystem.php.

uzziel
Člen | 46
+
-11
-

Martk napsal(a):

https://nette.org/cs/releases

Ale většinou používám composer outdated -Du

Jsou případy, kdy composer nejde přímo použit – vývoj na intranetu odděleního od internetu.

Navíc většina větších projektů je schopná napsat příspěvek na blog, že vyšla nová verze, přip. souhrn události za daný měsíc.

CZechBoY
Člen | 3608
+
0
-

Kupodivu vyvijim jeden intranet bez internetu a kupodivu pouzivam composer. Vendor commituju, ale neni to potreba – stacilo by dat composer install az pri sestaveni balicku/archivu/image, ktery potom pobezi na produkci.

uzziel
Člen | 46
+
-9
-

CZechBoY napsal(a):

Kupodivu vyvijim jeden intranet bez internetu a kupodivu pouzivam composer. Vendor commituju, ale neni to potreba – stacilo by dat composer install az pri sestaveni balicku/archivu/image, ktery potom pobezi na produkci.

Vidíš a já mám funkční produkci na intranetu bez ingternetu.

Logika věci „použíj composer pro update a neřeš info o updatu“ je zcela mimo.

Mysteria
Člen | 797
+
+1
-

A víš že není? Normální lidé na vyvíjeném projektu normálně pouští composer update. A kupodivu v 99% případů nemusím číst changelogy, protože jak Nette tak Symfony (používáme v práci) to mají tak dobře udělané, že i když se updatovalo ze Symfony 4.4 na 5.0, tak 90% věcí fungovalo, 9% věcí se dalo opravit přímo z produkovaných chyb (to co má Nette – X je deprecated, použijte Y) a na to jedno 1% jsem pak musel kouknout do changelogu (u Symfony třeba se změnil namespace debug rozšíření).

Samozřejmě můžete preferovat výmluvy, že composer nejde použít, že musíte ručně kopírovat zdrojáky jak v devadesátým devátým a číst changelogy při každým updatu což samozřejmě vede k tomu že budete používat staré verze, protože při tomhle workflow by se mi taky nechtělo dělat jakejkoliv upgrade nebo vyvíjet tak, jak se by v roce 2020 mělo.

Editoval Mysteria (28. 2. 2020 12:36)