Autor | Zpráva | ||
---|---|---|---|
Onďa Profil * |
#1 · Zasláno: 29. 4. 2009, 16:40:57
Jak plz vypnu upozornění typu Notice ? Pro mě jsou to jen upozornění, která nejsou důležitá akorát to tam zbytečně skáče a kazí ve výsledku estetiku aplikace
Diks; |
||
nightfish Profil |
#2 · Zasláno: 29. 4. 2009, 16:45:43
1) lze upravit nastavením error_reporting v php.ini
2) na produkčním serveru má být výpis chyb vypnutý 3) je vhodné se "Notice" zbavit opravením příčiny, ne schováním hlášky |
||
Onďa Profil * |
#3 · Zasláno: 29. 4. 2009, 16:47:22
Jo, v tom s tebou souhlasím ale když mi to píše i u tohohle $akce = $_GET["action"]; když v URL není žádná action tak už to dělá bleble a to já nechci ;)
|
||
Joker Profil |
#4 · Zasláno: 29. 4. 2009, 17:01:51
Onďa
Jo, v tom s tebou souhlasím ale když mi to píše i u tohohle $akce = $_GET["action"]; když v URL není žádná action tak už to dělá bleble a to já nechci ;) viz nightfish 3) je vhodné se "Notice" zbavit opravením příčiny, ne schováním hlášky Takže: $akce = isset($_GET["action"]) ? $_GET["action"] : ""; ...a nebude to nic psát ;) |
||
tiso Profil |
#5 · Zasláno: 29. 4. 2009, 17:03:14
Onďa - ten riadok je úplne zbytočný, správne by si mal pracovať iba s existujúcimi premennými:
if(isset($_GET['action'])){//premenna je nastavena, mozem s nou pracovat ... } |
||
joe Profil |
#6 · Zasláno: 29. 4. 2009, 17:35:26 · Upravil/a: joe
Joker
„$akce = isset($_GET["action"]) ? $_GET["action"] : "";“ Ještě lépe $akce = isset($_GET['action']) ? $_GET['action'] : null; |
||
Joker Profil |
#7 · Zasláno: 29. 4. 2009, 17:42:28
joe
To už záleží na konkrétním využití té proměnné... někdy je vhodné poznat, že proměnná nebyla naplněna vůbec, někdy je vhodné použít nějakou "výchozí" hodnotu. Ale pro některé případy to je opravdu správná připomínka. |
||
AM_ Profil |
#8 · Zasláno: 29. 4. 2009, 18:49:32
jednodušeji: $akce = @$_GET['akce']; potlačí lokálněvýpis chyby, pokud příslušná proměnná neexistuje. Někdo sice namítá, že k chybě stejně dojde, ale bude už implicitně ošetřená žádoucím způsobem (do $akce se dosadí tuším null).
|
||
Majkl578 Profil |
#9 · Zasláno: 30. 4. 2009, 00:22:31
nemelo by se to delat, ale kdyz uz tak takto (jednodussi nez prasacke zavinace)
na zacatek scriptu: error_reporting(E_ALL & ~E_NOTICE); |
||
srigi Profil |
#10 · Zasláno: 30. 4. 2009, 07:10:56
DGX doporucuje chyby E_NOTICE nevypinat. "Zavinacovanie" dokonca uplne odsudzuje.
|
||
AM_ Profil |
#11 · Zasláno: 30. 4. 2009, 13:52:54
Mohl by mi někdo vysvětlit, co je na zavináčích tak prasácké? V momentě, kdy vím přesně, k čemu může dojít za chybu, a akceptuji její implicitní ošetření, je problém kde? Nechci si za tím tvrdohlavě stát, ale "se to nedoporučuje" mi nestačí, určitě to má nějaký důvod :)
V sirgim postnutém článku se přesně píše, cituji:Přičemž nesmíme nikdy používat @ pro zahození chyby (kromě velmi výjimečných situací). Podle mě právě tohle je jedna z nich, jak už jsem popsal, když přesně vím, co dělám. Samozřejmě, že zavináč není univerzální řešení nacpat ho všude, kde to hází chybu, které nerozumím a jakž takž to i tak funguje. |
||
tiso Profil |
#12 · Zasláno: 30. 4. 2009, 14:02:47
AM_ - problém je ten, že ty síce vieš čo robíš, ale keď to radíš niekomu, kto nevie čo robí, tak bude mať problém...
|
||
AM_ Profil |
#13 · Zasláno: 30. 4. 2009, 20:47:31
tiso
To už je obstojné vysvětlení :) |
||
Časová prodleva: 15 let
|
0