Autor | Zpráva | ||
---|---|---|---|
tester Profil * |
#1 · Zasláno: 31. 3. 2016, 11:36:56
Když vytvářím třídu občas se stane že např. v konstruktoru nastavím vlastnost, která nebyla předem deklarována. Podobně s proměnnými. Mám např. proměnnou která nebyla nastavena a strčím ji do podmínky if. Jak to nastavit aby mi to hodilo upozornění? Mám tam toto:
error_reporting = E_ALL & ~ E_NOTICE | E_STRICT A ještě k tomu přidám dotaz - v php není možné předem deklarovat metody? Kromě abstraktních metod. Jsem zvyklý z C/C++ že seznam funkcí i s argumenty je nadeklarován samostatně, takže je to celkově přehlednější, ale v PHP mi to nefunguje a dostanu hlášku že mi tam schází tělo. Přitom metodu mám deklarovanou o kus níže. |
||
Martin2 Profil * |
#2 · Zasláno: 31. 3. 2016, 11:56:48
tester:
Nepíšeš, jakou máš verzi PHP, v aktuálních verzích stačí E_ALL. Ve starších E_ALL | E_STRICT. Viz dokumentaci. „v php není možné předem deklarovat metody?“ Ne. Ostatně k čemu by to bylo dobré? Tuto céčkovou libůstku jsem nikdy moc nechápal. I ten nejstupidnější editor ti bude umět zobrazit outline metod objektu v nějakém stromu. |
||
tester Profil * |
Nebo když zadám print_r($_SESSIONS); místo print_r($_SESSION); tak mi to nenapíše že objekt neexistuje...
Verzi mám 5.2.0 aktualizovat se chystám až později |
||
Martin2 Profil * |
#4 · Zasláno: 31. 3. 2016, 12:12:53
tester:
„Verzi mám 5.2.0“ Bizarní. To je 10 let (!) stará verze. Její podpora skončila před šesti lety. Postrádá jmenné prostory a mysqlnd. Prakticky v ní už nefunguje odhadem 90% současných knihoven. V tomto opravdu něco vytváříš? Naprosté šílenství. |
||
tester Profil * |
#5 · Zasláno: 31. 3. 2016, 13:07:06
Martin2:
Nač ten útok? Nainstaloval jsem si starou verzi abych mohl pracovat se starými tabulkami. Myslím svoje důvody opravdu vysvětlovat nemusím. Naznačil jsem v příspěvku že budu instalovat novější verzi až na to bude čas ale toto je čistě moje věc. |
||
Časová prodleva: 9 let
|
0