In practice it makes no difference whether you do something like:
$someStuff = "abc";
$otherStuff = "def";
// ...
or
$constants = array(
'someStuff' => "abc";
'otherStuff' = >"def";
// ...
);
or wrapping this into a static array in a class as per my other answer. Using OPcache will remove the compile overheads and disk I/O overheads. It will intern the string constants so these are effectively statically available to the Zend engine. The class version does a single shallow copy of the array structure, the two other versions will do ~200 opcode execs to initialise ~100 variables, and again the actual interned strings are effectively copied by reference. The engine typically interprets 20-40M opcode execs per second, so do the math: it doesn't matter.
My recommendation is: don't worry about the runtime issues here, just pick the approach which you feel is clearest and most maintainable. Personally, I would use a class autoloaded into from its own config class file, but this is your app and do what is the clearest for you.
BTW, using functions is messy and they do have a runtime cost, and function calls are one of the most expensive PHP operations. References to class constants are quite a lot cheaper, but try benchmarking these yourself. However, again, unless you are referring to these 10k + times per request you aren't going to notice a material difference. Being too clever will only end up with you "shooting yourself in the foot." :-)