如何在PHP中访问私有变量中的公共变量

时间:2015-06-23 11:40:55

标签: php oop

我在PHP中有以下类:

class myClass extends AJAX_Callable {

public static $classGlobal = 'myVariable' ;

private static $types_fields = array(

        'myArray' => array(

            'name' => $classGlobal,

             'age' => 'twenty five')
    );
}

但这不起作用

2 个答案:

答案 0 :(得分:1)

来自the documentation

  

类成员变量被称为"属性"。您也可以使用其他术语来查看它们,例如"属性"或"字段",但为了本参考的目的,我们将使用"属性"。它们通过使用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());

fiddle