PHP constant()引用另一个类的常量

时间:2016-10-28 19:43:48

标签: php

在我的一个类中,我有一个变量,它包含一个在我使用的另一个库类中声明的常量。

我试图这样使用它:

constant($colour)

$colour = PHPExcel_Style_Color::COLOUR_YELLOW

PHP日志抛出错误,例如:

  

PHP警告:constant():无法找到常量   PHPExcel_Style_Color :: COLOUR_YELLOW

如果我直接使用常数而不是变量,它可以正常工作。 PHPExcel_Style_Color::COLOUR_YELLOW

为什么我会使用带有变量的constant()函数看到此错误?

1 个答案:

答案 0 :(得分:1)

如果您在命名空间中使用它,则需要一个绝对命名空间。

$colour = 'PHPExcel_Style_Color::COLOUR_YELLOW'是相对的。

如果PHPExcel_Style_Color是顶级命名空间,那么您可能只需要在其开头添加斜杠\

试试这个:

constant('\' . $colour);

将构成整体路径:

\PHPExcel_Style_Color::COLOUR_YELLOW

没有斜线,它相当于:

MyNamespace\PHPExcel_Style_Color::COLOUR_YELLOW