NOVINKA! E-learningové kurzy umělé inteligence. Nyní AI za nejlepší ceny. Zjisti více:
NOVINKA – Víkendový online kurz Software tester, který tě posune dál. Zjisti, jak na to!
Avatar
Pavel
Tvůrce
Avatar
Pavel:25.1.2016 9:22

Ahoj,

Nedavno sme diskutovali nad statikou a global v php.

Ma nekdo k tematu co by se melo pouzivat a proc?

Dekuji.

Pavel

 
Odpovědět
25.1.2016 9:22
Avatar
mayo505
Tvůrce
Avatar
Odpovídá na Pavel
mayo505:25.1.2016 19:32

Pokiaľ sa jedná o globalné premenné a statické premenné tak ideálne ani jedno. Obe vytvárajú akýsi "globálny kontext" a to sa potom ťažko testuje a ladí. Privátna statická premenná ale nemusí byť vždy zlá. Statické metódy majú väčšie využitie, ale tiež by sa mali používať striedmo. Namiesto toho sa dá (a je to preferovaný spôsob) použiť dependency injection.

 
Nahoru Odpovědět
25.1.2016 19:32
Avatar
Pavel
Tvůrce
Avatar
Pavel:26.1.2016 9:40

Jj.. DI je reseni.. to ano.. nebo i singelton by sel..

me slo spis o plusy a minusy..

Oboji je vlastne globalni, tak vyhody a nevyhody obou..

Treba u staticjych funkci se nsdaji volat nestaticke funkce, coz pri global ano. Ale zase u global musis patricnou promenu prvne nadefinovat nez ji pouzijes a to muze byt taky problem si to ohlidat..

Pavel

Editováno 26.1.2016 9:42
 
Nahoru Odpovědět
26.1.2016 9:40
Avatar
mayo505
Tvůrce
Avatar
Odpovídá na Pavel
mayo505:26.1.2016 11:33

no singleton, má ale stále tie isté nevýhody čo som spomínal vyššie (hlavne to testovanie)

Aha takto si to myslel, že porovnať statiku oproti globálnym veciam.
To, že sa u statických funkcií nedajú volať nestatické mi nepríde ako nevýhoda. Ak by si ich potreboval volať tak je to skôr chyba návrhu :D
Ale čo sa týka globálnych premenných a verejných statických premenných tak mi to príde ako to isté. Možno tie statické premenné majú výhodu, že niekomu "patria", môže to byť tým pádom čitateľnejšie.
U funkcií ... tak statické funkcie sú podľa mňa čitateľnejšie v kóde ako klasické funkcie + dajú sa tým pádom lepšie zoskupiť do tried.
Iné výhody a nevýhody voči sebe ma nenapadajú, čo sa týka "high level" designu tak je to podľa mňa jedno.

 
Nahoru Odpovědět
26.1.2016 11:33
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 4 zpráv z 4.