Задать вопрос

Как исправить static:: php5.2 ошибка T_PAAMAYIM_NEKUDOTAYIM ?

Интерпретатор php5.2 жалуется Parse error: syntax error, unexpected T_PAAMAYIM_NEKUDOTAYIM, expecting T_VARIABLE
public function delete(){
		if(intval($this->curFieldValue['id']))
			static::delID($this->curFieldValue['id']);
	}

на строчку
static::delID($this->curFieldValue['id']);
На php 5.3 всё работает. Как исправить?
  • Вопрос задан
  • 5608 просмотров
Подписаться 4 Оценить Комментировать
Решения вопроса 1
"Да хоть говнокод"? Лехко!

class BaseClass {
  public static function base_create($class, $params = array()) {
    return new $class($params);
  }
}
class OtherClass extends BaseClass {
  public static function create($params = array()) {
    return self::base_create(__CLASS__, $params);
  }
}


Но лучше обновите пхп. И не используйте статические члены класса
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
pavel_salauyou
@pavel_salauyou
Symfony2 & Angular разработчик
никак в php 5.2 нет такой конструкции, используйте self::
Ответ написан
@ZzZero Автор вопроса
Проблема называется "позднее статическое связывание", как в php 5.2 обходились без static;:?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы