What is the best way to define constants that may be used by a number of classes within a namespace? I'm trying to avoid too much inheritance, so extending base classes is not an ideal solution, and I'm struggling to find a good solution using traits. Is this in any way possible in PHP 5.4 or should a different approach be taken?
I have the following situation:
trait Base
{
// Generic functions
}
class A
{
use Base;
}
class B
{
use Base;
}
The problem is that it is not possible to define constants in PHP traits. Ideally, I would want something like the following:
trait Base
{
const SOME_CONST = 'someconst';
const SOME_OTHER_CONST = 'someotherconst';
// Generic functions
}
Then these could be accessed though the class that applies the trait:
echo A::SOME_CONST;
echo B::SOME_OTHER_CONST;
But due to the limitations of traits this isn't possible. Any ideas?
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…