Поиск

пятница, 14 октября 2011 г.

PHP ошибка Parse error: syntax error, unexpected T_PAAMAYIM_NEKUDOTAYIM

Вчера был озадачен, тем что в логах веб-сервера была такая ошибка php

Parse error: syntax error, unexpected T_PAAMAYIM_NEKUDOTAYIM in /home/admin/data/www/mysite.ru/script.php

Очень удивился идентификатору ошибки не на английском языке. Гугл привел вот сюда. Выяснилось, что дословно (с иврита - поправьте если не правильно указал язык) эта ошибка переводится как "двойное двоеточие". И вправду, в скрипте был такой кусок

$myobj::doAction();

где $myobj - это объект класса, а doAction() некоторый метод, что есть полный бред, ибо для того чтобы вызвать метод объекта нужно писать

$myobj->doAction();

а пресловутое двойное двоеточие используется для вызова метода класса, независимо от объекта:

MyClass::doAction();

где MyClass - название класса (так как это назваие класса, а не переменная, то знак доллара не нужен).

1 комментарий: