При написании Класса возникла совершенно непредвиденная ошибка

Pingvin22

Новичок
При написании Класса возникла совершенно непредвиденная ошибка

Гад ругается на точку в 4,5,6 строчках, типа нельзя так

PHP:
class authorization
{
	const SESSION_PREFIX = "authorization_";
	const SESSION_LOGIN_NAME=self::SESSION_PREFIX."login";
	const SESSION_PASSWORD_NAME=self::SESSION_PREFIX."password";
	const SESSION_IP_NAME=self::SESSION_PREFIX."ip";
}

Но писать вот так мне религия не позволяет

PHP:
class authorization
{
	const SESSION_LOGIN_NAME="authorization_login";
	const SESSION_PASSWORD_NAME="authorization_password";
	const SESSION_IP_NAME="authorization_ip";
}

Как быть?
 
Pingvin22
Не странно. Обьясните мне бабуину зачем нужны такие шаманские игры с бубном c вызовом статических функций?
Вам некуда деть CPU time и Memory?
 
Автор оригинала: HraKK
... c вызовом статических функций?
Почему функций? это всего лиш константы в классе Константы в объектах

Да и вообще константы тут не принципиально можно и так:

PHP:
class authorization
{
	private $session_prefix="authorization_";

	private $session_login_name=$this->session_prefix."login";
	private $session_password_name=$this->session_prefix."password";
	private $session_ip_name=$this->session_prefix."ip";

	//...
}

только тоже не работает
 
Я имел ввиду функцию получения статических обьектов(констант). Сори за мой французкий, но я думаю вы понял =)
 
Оно так и не будет, работать ни в одном языке. Для этого есть конструкторы
 
Таков алгоритм работы PHP-компилятора.
Он простой и быстрый, расчитан на исполнение при каждом вызове, и усложнять его логикой никому не надо.
 
Pingvin22
А это неправильный код по смыслу. Откуда взять $this т.е. ссылку на объект в объявлении КЛАССА? И потом есть такое понятие как статическое значение, которое закладывается при парсинге. Это значит что оно может быть int/float/string/array, но без участия внешних переменных.
 
Сверху