在我的一个类中,我有一个变量,它包含一个在我使用的另一个库类中声明的常量。
我试图这样使用它:
constant($colour)
$colour = PHPExcel_Style_Color::COLOUR_YELLOW
PHP日志抛出错误,例如:
PHP警告:constant():无法找到常量 PHPExcel_Style_Color :: COLOUR_YELLOW
如果我直接使用常数而不是变量,它可以正常工作。
PHPExcel_Style_Color::COLOUR_YELLOW
为什么我会使用带有变量的constant()
函数看到此错误?
答案 0 :(得分:1)
如果您在命名空间中使用它,则需要一个绝对命名空间。
$colour = 'PHPExcel_Style_Color::COLOUR_YELLOW'
是相对的。
如果PHPExcel_Style_Color
是顶级命名空间,那么您可能只需要在其开头添加斜杠\
。
试试这个:
constant('\' . $colour);
将构成整体路径:
\PHPExcel_Style_Color::COLOUR_YELLOW
没有斜线,它相当于:
MyNamespace\PHPExcel_Style_Color::COLOUR_YELLOW