我想使用表达式初始化类成员var-通过连接字符串...为什么以下不可能......
class aClass {
const COMPANY_NAME = "A Company";
var $COPYRIGHT_TEXT = "Copyright © 2011 " . COMPANY_NAME; // syntax error on this line - why?
var $COPYRIGHT_TEXT2 = "Copyright © 2011 " . "A Company"; // even a syntax error on this line
}
Run Code Online (Sandbox Code Playgroud)
非常感谢您的帮助.
Prembo
那么,因为这就是PHP的工作原理.
在PHP中静态初始化的变量(方法之外的任何东西)可以分配给静态值,但不能将它们分配给需要函数调用的任何东西(除了array).你可以通过在构造函数中放置初始化来解决这个问题.
此外,您应该使用self :: COMPANY_NAME或aClass :: COMPANY_NAME,并且var自PHP 4以来一直不合适.使用public/protected/private(以及适当的静态).