Переменные, которые являются членами класса, называются "свойства". Также их называют, используя другие термины, такие как "аттрибуты" или "поля", но в рамках этой документации, мы будем называть их свойствами. Они определяются с помощью ключевых слов public, protected, или private, следуя правилам правильного описания переменных. Это описание может содержать инициализацию, но инициализация должна применяться для константных значений - то есть, переменные должны быть вычислены во время компиляции и не должны зависеть от информации программы во время выполнения для их вычисления.
Короче говоря, так делать нельзя, массив сессии не удовлетворяют этому требованию.
Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010 Откуда: Чернигов
Помог: 299 раз(а)
при объявлении свойства класса ему можно дать только статическое значение (число, строку, масив), но не переменую. Присвоить значения свойствам клааса можно/нужно в конструкторе.
----- Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
zzzzzz
Отправлено: 26 Июня, 2013 - 23:27:31
Гость
Покинул форум
Сообщений всего: 117
Дата рег-ции: Янв. 2013
Помог: 0 раз(а)
получается на момент интерпретации переменные внутри класса не преобразуются в числовой или текстовый вид?
caballero
Отправлено: 26 Июня, 2013 - 23:46:11
Активный участник
Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011 Откуда: Харьков
Помог: 126 раз(а)
Цитата:
получается на момент интерпретации переменные внутри класса не преобразуются в числовой или текстовый вид?
сам хоть понял что написал?
говорят же - инициализировать переменную нестатическими данными следует в конструкторе.
Покинул форум
Сообщений всего: 117
Дата рег-ции: Янв. 2013
Помог: 0 раз(а)
уже да (Добавление)
всем спасибо се понял (Добавление)
Блин я конечно извиняюсь за дотошность, но по какой причине нельзя не статичные данные передавать в переменную, есть логические объяснение этому, очень прошу ответить.
caballero
Отправлено: 27 Июня, 2013 - 00:30:39
Активный участник
Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011 Откуда: Харьков
Помог: 126 раз(а)
потому что компилятор не умеет по другому, так же как например с константами.
Эти члены инициализируются при компиляции (точнее при загрузке класса в память). А в режиме выполнения уже работает конструктор.
Покинул форум
Сообщений всего: 5025
Дата рег-ции: Нояб. 2012 Откуда: Украина, Львов
Помог: 127 раз(а)
zzzzzz
Цитата:
Warning: require_once(***/language/uk.lng): in ***/theme/front.tpl.php on line 3
Fatal error: require_once(): Failed opening required '***/language/uk.lng' (include_path='.:/usr/local/zend-5.4/share/pear') in ***/theme/front.tpl.php on line 3
У Вас на сайте
П.С. пути удалил
zzzzzz
Отправлено: 27 Июня, 2013 - 20:31:11
Гость
Покинул форум
Сообщений всего: 117
Дата рег-ции: Янв. 2013
Помог: 0 раз(а)
Исправил )
uk.lng пока нету, спасибо за найденный баг
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.