Namespace constants and use as
- by GordonM
I'm having some problems with using constants from a namespace. If I define the constant and try to use as it, PHP seems unable to find it. For example, in my file with the constants I have code along the lines of the following:
namespace \my\namespace\for\constants;
const DS = DIRECTORY_SEPARATOR;
Then in the consuming file I have:
namespace \some\other\namespace;
use \my\namespace\for\constants\DS as DS;
echo (realpath (DS . 'usr' . DS 'local'));
However, instead of echoing '/usr/local' as expected I get the following notice and an empty string.
Notice: Use of undefined constant DS - assumed 'DS'
If I change the code as follows:
use \my\namespace\for\constants as cns;
echo (realpath (cns\DS . 'usr' . cns\DS 'local'));
I get the expected result, but it's obviously quite a bit less convenient than just being able to pull the constants in directly.
You can alias a class/interface/trait in a namespace, are you not able to alias a constant too? If you can do it, then how?