Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/238.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在PHP中使用表达式(连接字符串)初始化类成员变量_Php - Fatal编程技术网

在PHP中使用表达式(连接字符串)初始化类成员变量

在PHP中使用表达式(连接字符串)初始化类成员变量,php,Php,我想使用表达式初始化一个类成员变量-通过连接字符串。。。为什么以下不可能 类aClass{ const COMPANY_NAME=“A COMPANY”; var$COPYRIGHT\u TEXT=“COPYRIGHT©2011”。COMPANY\u NAME;//此行出现语法错误-为什么? var$COPYRIGHT_TEXT2=“COPYRIGHT©2011”“A Company”//这一行甚至有语法错误 } 非常感谢你的帮助 Prembo是这样的,因为PHP就是这样工作的 在PHP中静态

我想使用表达式初始化一个类成员变量-通过连接字符串。。。为什么以下不可能

类aClass{
const COMPANY_NAME=“A COMPANY”;
var$COPYRIGHT\u TEXT=“COPYRIGHT©2011”。COMPANY\u NAME;//此行出现语法错误-为什么?
var$COPYRIGHT_TEXT2=“COPYRIGHT©2011”“A Company”//这一行甚至有语法错误
}
非常感谢你的帮助


Prembo是这样的,因为PHP就是这样工作的

在PHP中静态初始化的变量(方法之外的任何变量)可以分配给静态值,但不能分配给任何需要函数调用的变量(除了
数组
)。您可以通过在构造函数中放置初始化来解决这个问题


此外,您应该使用self::COMPANY_NAME或aClass::COMPANY_NAME,并且
var
自PHP4以来就已经过时了。使用public/protected/private(适当时使用static)。

因为类属性/常量的值不能是表达式。为此,请使用构造函数

public function __construct() {
    $this->COPYRIGHT_TEXT = "Copyright © 2011 " . self::COMPANY_NAME;
}
仅供参考,从中收集的信息也可以使用定义,如:

define('THING', 'foo' . 'bar');
class Thing {
    static $MyVar = THING;
}