Вызывать статический метод

Темы, не касающиеся фреймворка, но относящиеся к программированию в целом.
Ответить
Аватара пользователя
darlov
Сообщения: 204
Зарегистрирован: 2012.01.31, 16:09

Вызывать статический метод

Сообщение darlov »

Здравствуйте.
Как вызвать статический метод

Код: Выделить всё

$class = new "Country";

echo $class::dataList();
 
Спасибо.
Onotole
Сообщения: 1808
Зарегистрирован: 2012.12.24, 12:49

Re: Вызывать статический метод

Сообщение Onotole »

Код: Выделить всё

$className = 'Country';
$class = new $className;
echo $className::dataList();
 
Аватара пользователя
darlov
Сообщения: 204
Зарегистрирован: 2012.01.31, 16:09

Re: Вызывать статический метод

Сообщение darlov »

Onotole писал(а):

Код: Выделить всё

$className = 'Country';
$class = new $className;
echo $className::dataList();
Хорошо, и правда работает.
А если имеется класс

Код: Выделить всё

class Test extends Widget{
    public $class;
    public function run()
    {
        echo new $this->class::dataList()
    }
}
Test::widget([
'class'=>'Country'
])
 
Как здесь завести этот код?
Onotole
Сообщения: 1808
Зарегистрирован: 2012.12.24, 12:49

Re: Вызывать статический метод

Сообщение Onotole »

new не нужно для статических

Код: Выделить всё

echo $this->class::dataList();
zelenin
Сообщения: 10596
Зарегистрирован: 2013.04.20, 11:30

Re: Вызывать статический метод

Сообщение zelenin »

$className = $this->class;
$className::dataList();
Аватара пользователя
darlov
Сообщения: 204
Зарегистрирован: 2012.01.31, 16:09

Re: Вызывать статический метод

Сообщение darlov »

Пишет ошибку
"Class name must be a valid object or a string"
zelenin
Сообщения: 10596
Зарегистрирован: 2013.04.20, 11:30

Re: Вызывать статический метод

Сообщение zelenin »

darlov писал(а):Пишет ошибку
"Class name must be a valid object or a string"
$this->class - ну а что у вас тут?
Аватара пользователя
darlov
Сообщения: 204
Зарегистрирован: 2012.01.31, 16:09

Re: Вызывать статический метод

Сообщение darlov »

zelenin писал(а):
darlov писал(а):Пишет ошибку
"Class name must be a valid object or a string"
$this->class - ну а что у вас тут?
Сорри, все заработало, $this->class конфликтовал
Спасибо
Ответить