Diskuze: OOP statika vs Global

PHP PHP OOP statika vs Global American English version English version

Avatar
Pavel
Redaktor
Avatar
Pavel:

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. ledna 9:22
Avatar
mayo505
Redaktor
Avatar
Odpovídá na Pavel
mayo505:

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  +1 25. ledna 19:32
Avatar
Pavel
Redaktor
Avatar
Pavel:

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. ledna 9:42
 
Nahoru Odpovědět 26. ledna 9:40
Avatar
mayo505
Redaktor
Avatar
Odpovídá na Pavel
mayo505:

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. ledna 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.