Я думаю, вы неправильно понимаете, для чего используется constant (). Если вам нужен только доступ к константе, сделайте это напрямую: print FOO;
Если вы не знаете, к какой константе вы хотите получить доступ, вам нужна константа (). То есть Вы можете сделать «переменные переменные» следующим образом:
$name = 'var1';
$var1 = 'value something or other';
print $$name; // prints the value of $var1: 'value something or other' because:
${$name} -> ${"var1"} -> $var1 -> 'value something or other'
т.е. вы подставляете имя переменной через переменную.
Вы не можете сделать это с константами:
$name = 'CONST1';
define('CONST1', 'value something or other');
print $name; // prints the value of $name: 'CONST1'
Вам нужно будет использовать константу ():
print constant($name); // prints 'value something or other'