2014-11-21 3 views

ответ

1

доступ к нему, как так

<?php 
class Test 
{ 
    public static $myArray = array('a', 'b'); 
} 

$test = new Test(); 
var_dump($test::$myArray); 
?> 

посмотреть здесь PHP - STATIC

+0

Вам даже не нужно создавать экземпляр объекта из класса 'Test';) – Havelock

+0

Спасибо @ Havelock, мы узнаем что-то новое каждый день :-) – Pwner

-1

Вы видите как метод (функция)?
получить его значение, которое вы должны назвать его как статическая переменная

var_dump($test::myArray); 

должен работать

+2

'$ test-> myArray' - это способ доступа к публичному (нестатическому) свойству экземпляра класса. Чтобы получить доступ к статическому свойству класса, вам нужно написать ' :: $ ' –

+0

@Elias Van Ootegem спасибо за подсказку – mwebber

0

статическому вы сделали не является функцией.

Также статика называются с :: вместо -> .. так что вы должны сделать:

<?php 
class Test 
{ 
    public static $myArray = array('a', 'b'); 
} 

$test = new Test(); 
var_dump($test::$myArray); 
+0

Вам даже не нужно создавать экземпляр объекта из класса 'Test';) – Havelock

+0

, что на 100% истинно. – DonSeba

0

Почему вы назвали массив как динамический метод? Вызова

Test::$myArray 
+0

Из-за незнания :) –

0

Этот класс не конструктор так что нет никакого смысла в делать new Test(); вы можете получить доступ к статическому классу непосредственно с именем класса.

<?php 

class Test{ 

public static $myArray = array('a', 'b'); 

} 

var_dump(Test::$myArray); 

?> 
+0

Класс не имеет конструктора, потому что это глупый тестовый класс. У реального класса, очевидно, есть его конструктор. –

+0

@LorenzMeyer вы должны указать, что в следующий раз в вашем вопросе. – rottenoats

Смежные вопросы