在常量中添加变量

hol*_*ard 2 php string variables const

我在视图中使用常量作为我的错误消息,我希望能够在其中使用变量以便于管理.

我的大多数常量看起来像这样:

const SUCCESSFULLY_REGISTERED = "<p class='success'>Registration successful!.</p>";
Run Code Online (Sandbox Code Playgroud)

我想要做的是为css类使用一个变量,这样就可以更容易地在一个地方更改它们.这就是我尝试过的:

const SUCCESSFULLY_REGISTERED = "<p class='$this->cssClassSuccess'>Registration successful!.</p><p>Log in with the username and password you registered with.</p>";
Run Code Online (Sandbox Code Playgroud)

由于某些原因不起作用并引发下面的错误消息.为什么会这样,怎么能以一种有效的方式完成呢?

Parse error: syntax error, unexpected '"' in .../View/RegisterView.php on line 15
Run Code Online (Sandbox Code Playgroud)

Ren*_*hle 7

如果定义常量,则无法进行此操作.

手册: "值必须是常量表达式,而不是(例如)变量,属性,数学运算的结果或函数调用."

常量手册php.net
常量表达式


Mic*_*ssa 5

这不起作用,因为常量(顾名思义)需要是常量,但你可以解决它printf().

例:

const SUCCESSFULLY_REGISTERED = '<p class="%s">Registration successful blah blah blah!</p>'
Run Code Online (Sandbox Code Playgroud)

然后在您的视图脚本中:

printf(SUCCESSFULLY_REGISTERED, $this->cssClassSuccess);
Run Code Online (Sandbox Code Playgroud)

%s在恒定将与的值替换$this->cssClassSuccess