Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.01.2011, 17:09   #1
Adblock
Форумчанин
 
Аватар для Adblock
 
Регистрация: 25.04.2010
Сообщений: 184
По умолчанию Проблема с переменной

PHP код:
//отрывок кода
var $NowDate date("Y");

}
$test = new CMS();
$test $test->NowDate;
echo 
$test;
//Конец отрывка кода 
Выдает ошибку
Цитата:
Parse error: syntax error, unexpected '(', expecting ',' or ';' in Z:\home\bla\bla\bla.php on line 26
String и int проходят, т.е. "12341" Или "Test" - нормально "date();"-выводит ошибку
Online
Adblock вне форума Ответить с цитированием
Старый 16.01.2011, 17:39   #2
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Цитата:
Сообщение от Adblock Посмотреть сообщение
String и int проходят, т.е. "12341" Или "Test" - нормально "date();"-выводит ошибку
Вероятно, вот почему так происходит (ещё со времён PHP4):
Цитата:
... only constant initializers for var variables are allowed. To initialize variables with non-constant values, you need an initialization function which is called automatically when an object is being constructed from the class. Such a function is called a constructor ...
Вкратце - задавать явные значения для свойств класса можно только в том случае,если значения являются константами (ваши "12341" или "Test").
В других случаях (не-константы) - нужно использовать конструктор или метод класса.

Пруф
Andkorol вне форума Ответить с цитированием
Старый 16.01.2011, 17:58   #3
Adblock
Форумчанин
 
Аватар для Adblock
 
Регистрация: 25.04.2010
Сообщений: 184
По умолчанию

Создал функцию.А смысл так усложнять?
Online
Adblock вне форума Ответить с цитированием
Старый 16.01.2011, 18:12   #4
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Цитата:
Сообщение от Adblock Посмотреть сообщение
А смысл так усложнять?
Никто ничего не усложняет.

Свойства могут быть только двух типов:
1.Константы - заранее определённые - разрешено задавать значение явно, при определении свойства.
2.Не-константы - значения задаются (а также изменяются(!)) через конструктор или метод - значения поступают извне, или как результат выполнения какой-либо функции ( ваша date(); ).

Надеюсь, вы понимаете,что результат выполнения вашей date() - ну никак не константа?
Andkorol вне форума Ответить с цитированием
Старый 16.01.2011, 18:16   #5
Adblock
Форумчанин
 
Аватар для Adblock
 
Регистрация: 25.04.2010
Сообщений: 184
По умолчанию

Цитата:
Надеюсь, вы понимаете,что результат выполнения вашей date() - ну никак не константа?
Конечно))
Так, все же почему до 4 версии было var $date = date("Y");
А потом отменили?
Online
Adblock вне форума Ответить с цитированием
Старый 16.01.2011, 18:22   #6
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Цитата:
Сообщение от Adblock Посмотреть сообщение
Так, все же почему до 4 версии было var $date = date("Y");
А потом отменили?
Да уж, после таких вопросов понятно,почему у вас проблемы с репутацией...
Andkorol вне форума Ответить с цитированием
Старый 16.01.2011, 18:40   #7
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

сообщение удалено в связи с нарушением правил формума //модератор

Последний раз редактировалось SkyM@n; 16.01.2011 в 19:57.
Andkorol вне форума Ответить с цитированием
Старый 16.01.2011, 19:49   #8
Adblock
Форумчанин
 
Аватар для Adblock
 
Регистрация: 25.04.2010
Сообщений: 184
По умолчанию

Я ничего вам не минусовал!!!!Я вообще сейчас за книгой был!!!
Online

Последний раз редактировалось SkyM@n; 16.01.2011 в 19:56.
Adblock вне форума Ответить с цитированием
Старый 16.01.2011, 20:02   #9
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Ok - тогда сорри...
Значит другой умник нашелся...))

Adblock, вот вам материал по ООП в PHP - написано понятно и без "воды".
Andkorol вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема с глобальной переменной HollyPaladin Общие вопросы C/C++ 4 08.10.2010 12:06
проблема с переменной PUSHkiN Общие вопросы .NET 1 13.08.2010 14:50
Проблема глобальной переменной Хохматый Microsoft Office Access 1 18.06.2009 13:04
FireFox проблема с переменной Romanbl4 JavaScript, Ajax 2 04.07.2008 02:27
Проблема многопоточного доступа к переменной lexluther Win Api 1 06.02.2007 22:22