Kada u PHP definises konstante preko define('NESTO'... ), onda je jedna od glavnih fora to što one u stvari ne zauzimaju memoriju nego kompajler samo zameni vradnost na mestima gde stoji konstanta, tako je bar bilo u C i C++ kompajlerima, nisam siguran da je tako i u PHP-u?
Da li vazi isto i za class constants ? Da li class constant zauzima memoriju ili je kompajler isto tretira kao i obicnu konstantu? Trebalo bi da je const is compile time, define runtime, jer ti NE mozes u sred koda da definises:
PHP kôd:
const NESTO = 'text';
ali mozes gde god hoces da stavis:
PHP kôd:
define ('NESTO' , 'text');
i to ima global scope. Zato class constant uvek mora da se deklarise u class header-u, po logici stvari bi trebalo da je ovako kako ja kapiram, ali nisam siguran?