我在PHP中有以下类:
class myClass extends AJAX_Callable {
public static $classGlobal = 'myVariable' ;
private static $types_fields = array(
'myArray' => array(
'name' => $classGlobal,
'age' => 'twenty five')
);
}
但这不起作用
答案 0 :(得分:1)
类成员变量被称为"属性"。您也可以使用其他术语来查看它们,例如"属性"或"字段",但为了本参考的目的,我们将使用"属性"。它们通过使用public,protected或private之一,然后是普通变量声明来定义。此声明可能包括初始化,但此初始化必须是常量值 - 也就是说,它必须能够在编译时进行评估,并且必须不依赖于运行时信息才能成为评估。
答案 1 :(得分:0)
我能想到的唯一方法就是将事物转化为构造函数。但它仍然是一个非常奇怪的事情。使用static
并没有任何意义,因为你无法以传统的方式使用它。
class myClass extends AJAX_Callable {
public static $classGlobal;
private static $types_fields;
public function __construct() {
// parent::__construct(); // if you have one
$this->classGlobal = 'myVariable';
$this->types_fields = array(
'myArray' => array(
'name' => $this->classGlobal,
'age' => 'twenty five')
);
}
public function getTypes() {
return $this->types_fields;
}
}
$foo = new myClass();
var_dump($foo->getTypes());