Mikor konstans, mikor változó?
Sziasztok!
- Mikor használ a jó programozó állandókat és mikor változókat?
- Melyik gyorsabb?
- Melyik jobb memóriaszempontból?
Tudom, hogy az egyiket lehet változtatgatni, a másikat nem arra találták ki, de most az a szitu hogy elkezdtem konstansokat használni az alkalmazásom fejlesztése során, és egyre jobban szaporodnak. :)
Nekem odalett a biztonságérzetem, elkezdett az járni a fejemben, hogy valamit rosszul csinálok. Főleg, mert amikor nézegettem komolyabb projektek forrásait, ott kevesebbet láttam belőlük. Attól tartok rontani fogják a sebességet, vagy a memóriakihasználást. Pedig olyan adatok amiket nem nagyon kell változtatni, tehát lehetnek állandókként deklarálva.
Mondjatok valami okosat.
■ - Mikor használ a jó programozó állandókat és mikor változókat?
- Melyik gyorsabb?
- Melyik jobb memóriaszempontból?
Tudom, hogy az egyiket lehet változtatgatni, a másikat nem arra találták ki, de most az a szitu hogy elkezdtem konstansokat használni az alkalmazásom fejlesztése során, és egyre jobban szaporodnak. :)
Nekem odalett a biztonságérzetem, elkezdett az járni a fejemben, hogy valamit rosszul csinálok. Főleg, mert amikor nézegettem komolyabb projektek forrásait, ott kevesebbet láttam belőlük. Attól tartok rontani fogják a sebességet, vagy a memóriakihasználást. Pedig olyan adatok amiket nem nagyon kell változtatni, tehát lehetnek állandókként deklarálva.
Mondjatok valami okosat.
én úgy hiszem
Ha már itt tartunk, én a $GLOBALS['settings'] tömböt használom a rendszerem beállításainak tárolására használni. Azt sem kell globalozni, hiszen ez szuperglobális (legalábbis a $GLOBALS), igaz, annyi hátránya van, hogy a PHP IDE-k a konstansokat felajánlják kiegészítésre, ellenben a $GLOBALS['settings']['guestbook']['numPostsPerPage'] értéket azt 'természetesen' nem. Mindazonáltal én jobbnak látom szervezés szempontjából egy tömb elemeiként megadni az értékeket, mint pl egy csomó SETTINGS_GUESTBOOK_NUMPOSTSPERPAGE és hasonló konstansokat definiálni, többekközött az olvashatóságot is szem előtt tartva (kis/nagybetűk) - perszepersze tudom, a konstansoknak is lehet megadni kisbetűt, csak ugye azt nagyon nem szokás a félreértések elkerülése végett...
(Egyébiránt így könnyen leellenőrizhetem a vendégkönyvem beállításait, hiszen a $GLOBALS['settings']['guestbook'] pont ezeket tartalmazza)
Memóriában nem hiszem, hogy gondot okozna, amikor elkeztdem PHPzni, akkor volt egy majdnem kétezer soros konfigfájlom, akkor még síma változóba raktam az értékeket :) az is elég gyors volt, nem volt gond a memóriával sem (Intel akkor 166MMX 128Mbyte, most meg egy P4 3Ghz, 1Gb RAM szerveren persze nagy a szám :D )
A mostani $GLOBALS['settings']-es configfájlom 300 sor körül mozog, ez nem okozhat gondot...
Vagy lényegesen nagyobb mennyiségű adatra számítasz?
egyéb
És akkor a konkrét php-fileban meg tudom használni az $globals->valtozo formát, ez majdnem ugyanaz, mintha a beépített tömböt használnád
sztem nem hülyeség :))
üdv t
attól függ
Ha például baromi hosszú karaktersztringeid vannak, amit nem változtatsz a program futása során, sokkal ésszerübb konstansba tárolni. Például a labeleket, fejléceket.
Globális változót én sosem használok, szerintem csak keveredésre ad okot. Ha kell, akkor global $var ozok inkább... Amúgy pedig lokális változokkal és returnokkal próbálok dolgoni.
Valamint ha nincs htaccessed, akkor konstansokkal szoktál levédeni a fájlokat direkt elérés ellen.