[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Обращение к статическому свойству класса
vuler
Добрый день.
Почему-то не получается обратиться к свойству по имени из переменной, класса phpexcel, в чем может быть проблема?? Вот код для сравнения. php 5.6


class tester{
static $varka='dd';
}

var_dump(tester::$varka);//dd
$per='varka';
var_dump(tester::$$per);//dd


var_dump(PHPExcel_Style_Color::COLOR_RED);//"FFFF0000"
$per='COLOR_RED';
var_dump(PHPExcel_Style_Color::$$per); //Fatal error: Access to undeclared static property: PHPExcel_Style_Color::$COLOR_RED
redreem
а с чего у класса PHPExcel_Style_Color должно быть свойство $varka?
twin
В ошибке же написано. Это не статическое свойство, вот и ругается. Это вообще константа.

_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
vuler
Это тогда как понимать?
PHPExcel_Style_Color::COLOR_RED
Это не обращение к статическому свойству?
redreem
Цитата (vuler @ 17.02.2016 - 18:49)
Это тогда как понимать?
PHPExcel_Style_Color::COLOR_RED
Это не обращение к статическому свойству?

ну дык, такое свойство есть
redreem
class My_PHPExcel_Style_Color extends PHPExcel_Style_Color {
public static $varka = 123;
}

$per='varka';
var_dump(My_PHPExcel_Style_Color::$$per);
twin
Цитата (vuler @ 17.02.2016 - 13:49)
PHPExcel_Style_Color::COLOR_RED
Это не обращение к статическому свойству?

Нет. Это обращение к константе.

_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
vuler
redreem - ты чет вообще не в теме smile.gif
Написанно же
var_dump(PHPExcel_Style_Color::COLOR_RED);//"FFFF0000"
$per='COLOR_RED';
var_dump(PHPExcel_Style_Color::$$per); //Fatal error: Access to undeclared static property: PHPExcel_Style_Color::$COLOR_RED

То, что выше - это пример.
Как получить доступ к константе класса по имени из переменной? Подскажите плиз.
redreem
vuler
Цитата
ты чет вообще не в теме

т.е. ты вдруг стал "в теме", узнав, что это не свойство а константа? я просто на этом вообще не концентрировался, т.к. ты привел пример с пользовательским свойством, и не спрашвал, как получить доступ к имеющимся у класса.
twin
var_dump(constant("PHPExcel_Style_Color::$per"));


_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.