最佳答案
定义一个名称空间中可能被许多类使用的常量的最佳方法是什么?我试图避免过多的继承,因此扩展基类并不是一个理想的解决方案,而且我正在努力寻找一个使用 trait 的好解决方案。这在 PHP 5.4中是否有可能,或者应该采取不同的方法?
我有以下情况:
trait Base
{
// Generic functions
}
class A
{
use Base;
}
class B
{
use Base;
}
问题是不可能在 PHP trait 中定义常量。理想情况下,我想要的东西如下:
trait Base
{
const SOME_CONST = 'someconst';
const SOME_OTHER_CONST = 'someotherconst';
// Generic functions
}
然后这些可以通过应用 trait 的类访问:
echo A::SOME_CONST;
echo B::SOME_OTHER_CONST;
但是由于特性的限制,这是不可能的。有什么想法吗?