我正在尝试创建一个小枚举,我只是卡住了:为什么这不起作用?
class.LayoutParts.php:
<?php
class LayoutParts {
const MAIN = 1;
const FOOTER = 2;
}
?>
class.SupportedLayouts.php:
<?php
class SupportedLayouts {
const MAIN = LayoutParts::MAIN;
const MAIN_FOOTER = LayoutParts::MAIN.LayoutParts::FOOTER;
}
?>
结果如下:
Parse error: syntax error, unexpected '.', expecting ',' or ';' in /*****/class.SupportedLayouts.php on line 4
感谢您的帮助!
问候,Flo
答案 0 :(得分:3)
.
是一个运算符,使LayoutParts::MAIN.LayoutParts::FOOTER;
成为一个语句,const
或属性声明中不允许这样做。
请参阅here
值必须是常量表达式,而不是(例如)变量,属性,数学运算的结果或函数调用。