Php error paamayim nekudotayim

PHP ожидает T PAAMAYIM NEKUDOTAYIM?

в PHP оператор разрешения области также называется Paamayim Nekudotayim (иврит: פעמיים נקודתיים), что означает «двойное двоеточие» в Еврей.

имя «Paamayim Nekudotayim» было введено в Израильский Zend Engine 0.5 используется в PHP 3. Хотя это было смущает многих разработчиков, которые не говорят на иврите, это все еще используется в PHP 5, как в этом примере сообщения об ошибке:

$ php-r:: Parse error: синтаксическая ошибка, непредвиденная T_PAAMAYIM_NEKUDOTAYIM

начиная с PHP 5.4, сообщения об ошибках, касающиеся оператора разрешения области действия еще включают это название, но несколько прояснили его значение:

$ php-r:: Parse error: синтаксическая ошибка, непредвиденная ‘::’ (T_PAAMAYIM_NEKUDOTAYIM)

оператор разрешения области (также называемый Paamayim Nekudotayim) или в более простые термины, двойное двоеточие, — это токен, который позволяет получить доступ к статические, постоянные и переопределенные свойства или методы класса.

при ссылке на эти элементы вне определения класса используйте название класса.

начиная с PHP 5.3.0, можно ссылаться на класс, используя переменная. Значение переменной не может быть ключевым словом (например, self, parent и статика).

Paamayim Nekudotayim бы, на первый взгляд, кажется странным выбор для называю двоеточие. Однако при написании Zend Engine 0.5 (который питает PHP 3), это то, что команда Zend решила назвать его. Он на самом деле означает двойное двоеточие-на иврите!

Это также происходит, когда вы применяете константу в PHP к функции empty ():

это было мое дело. Я решил это, используя это:

$string = SOME_CONSTANT; if (!empty($string))

для меня это произошло внутри функции класса.

в PHP 5.3 и выше $this::$defaults работал нормально; когда я поменял код на сервер, который по какой-то причине имел более низкий номер версии, он выбросил эту ошибку.

в моем случае решением было использовать ключевое слово self вместо $this :

self::$defaults работает просто отлично.

вот как я его получил. Я пробовал границы выражений в двойных кавычках. Итак, это код:

код

выход

 PHP Parse error: syntax error, unexpected '==' (T_IS_EQUAL), expecting :: (T_PAAMAYIM_NEKUDOTAYIM) in php shell code on line 1 

Источник

PHP ожидает T_PAAMAYIM_NEKUDOTAYIM?

Это оператор двойной кишки :: (см. Список токенов парсера ).

Это иврит для «двойной толстой кишки».

Это имя для оператора :: на PHP. Это буквально означает «двойная двоеточие». По какой-то причине они назвали это на иврите. Проверьте свой синтаксис кода и поместите a :: где необходимо 🙂

В PHP оператор разрешения области также называется Paamayim Nekudotayim (иврит: פעמיים נקודתיים), что означает «двойная толстая кишка» на иврите.

Название «Paamayim Nekudotayim» было представлено в разработанном Израилем Zend Engine 0.5, используемом в PHP 3. Хотя это было запутанно для многих разработчиков, которые не говорят на иврите, он все еще используется в PHP 5, как в этом примере сообщения об ошибке :

$ php -r :: Ошибка анализа: синтаксическая ошибка, неожиданный T_PAAMAYIM_NEKUDOTAYIM

Начиная с PHP 5.4 сообщения об ошибках, касающиеся оператора разрешения области действия, по-прежнему включают это имя, но несколько разъяснили его значение:

$ php -r :: Ошибка анализа: синтаксическая ошибка, неожиданный ‘::’ (T_PAAMAYIM_NEKUDOTAYIM)

Из официальной документации PHP :

Оператор разрешения области действия (также называемый Paamayim Nekudotayim) или, проще говоря, двойной двоеточие, является токеном, который позволяет получить доступ к статическим, постоянным и переопределенным свойствам или методам класса.

Когда вы ссылаетесь на эти элементы вне определения класса, используйте имя класса.

Начиная с PHP 5.3.0, можно ссылаться на класс, используя переменную. Значение переменной не может быть ключевым словом (например, self, parent и static).

Paamayim Nekudotayim, поначалу, казался бы странным выбором для обозначения двойной кишки. Однако, при написании Zend Engine 0.5 (который использует PHP 3), это то, что команда Zend решила назвать. Это на самом деле означает двойную двоеточие – на иврите!

Это также происходит, когда вы применяете константу в PHP к функции empty ():

Читайте также:  Svg line color css

Это было мое дело. Я решил это, используя это:

$string = SOME_CONSTANT; if (!empty($string))

Для меня это произошло в рамках функции класса.

В PHP 5.3 и выше $this::$defaults работал нормально; когда я поменял код на сервер, который по какой-то причине имел более низкий номер версии, он выбросил эту ошибку.

Решение, в моем случае, должно было использовать ключевое слово self вместо $this :

self::$defaults работает отлично.

Вот как я это понял. Я искал пределы выражений в двойных кавычках. Итак, это код:

Код

Вывод

 PHP Parse error: syntax error, unexpected '==' (T_IS_EQUAL), expecting :: (T_PAAMAYIM_NEKUDOTAYIM) in php shell code on line 1 

Источник

PHP ожидает T_PAAMAYIM_NEKUDOTAYIM?

иврит для двойного двойного двоеточия, но . см. bugs.php.net/bug.php?id=14492 : «Кстати, в ошибке синтаксического анализа есть орфографическая ошибка, это должно быть T_PAAMAYIM_NEKUDATAYIM (на иврите,» двойной » форма — это просто оригинальное существительное + суффикс «айим», а «некуда» — это единственная форма [«некудот» — форма множественного числа]). «

@WolfgangFahl орфографическая ошибка — это только отсутствие u . Это должно быть T_PAAMAYIM_NEKUDOTAYIM . ( PAAMAYIM = «дважды», NEKUDOTAYIM = : = «נקודותיים»)

Такая глупая несовместимая особенность PHP. Я

Когда я увидел эту ошибку, я просто смотрел на экран в оцепенении в течение 30 секунд, затем рассмеялся и пошел курить сигарету: F 1+

В то время как все другие языки предпочитают говорить что-то вроде «неожиданного» . PHP думает, чтобы дать больше понимания разработчикам об их синтаксическом анализаторе. Шутки в сторону? Кто-то должен дать команду разработчиков PHP.

Еще одно исправление, которое может помочь другим . Убедитесь, что на вашем сервере установлена последняя версия PHP!

Я знаю, что это старый вопрос, но короткий ответ заключается в том, что PHP (неправильно) интерпретирует константу как имя класса. Некоторые операции, такие как empty , не будут оценивать выражения, которые включают константы. Поэтому они будут пытаться интерпретировать константу как имя класса и ожидать, что она будет иметь :: для обозначения статического свойства. И, конечно, если вы забудете переменную $ on, она будет неверно интерпретирована как константа. Большая часть этого безумия, если не сообщение об ошибке, исправлено в более поздних версиях PHP.

Читайте также:  Asynchronous http requests python

@WolfgangFahl Нет ошибок. Существует много действительных произношений гласного иврита. Евреи североевропейского и йеменского происхождения используют ой звук, в то время как евреи Центральной Европы говорят oo, а евреи Африки и Ближнего Востока говорят ах .

7 ответов

Его оператор двойной толчки :: (см. список парсера жетоны).

Нет. Я только что добавил оценку, которая возвращает тот же T_PAAMAYIM_NEKUDOTAYIM. Я нашел это по ошибке.

Обязательное чтение истории Paamayim Nekudotayim , которая также является примером профессионализма проекта с открытым исходным кодом.

Показывает, когда $ отсутствует в переменной. Я получил это сегодня и достиг этого поста. В foreach ($ cats as cat) использование того же кота в следующей строке показывает ошибку. Но ответ говорит о :: и человек принял это . ??

@Web_Developer, причина, по которой это происходит, заключается в том, что если у вас есть foreach($cats as cat в foreach($cats as cat единственным допустимым символом после cat для синтаксически допустимого оператора является a :: , поскольку это позволит вам указать статическое свойство некоторого класса с именем cat . Например, если у класса cat есть открытый статический член с именем $mouse , то foreach($cats as cat::$mouse) является абсолютно корректным php , но утверждение с чем-то отличным от :: после cat будет синтаксической ошибкой. Если бы $mouse не было объявленным свойством cat вы бы получили фатальную ошибку, но все же не синтаксическую ошибку.

Для меня это было потому, что у меня было (мой личный пример кода ошибки) $tokenStatus = $tokenSystem->SecurityAuthenticationTokens::CheckAuthenticationToken($data[‘hashedPLToken’]); Мне НЕ следовало смешивать :: (static) там с оператором ->, так как это был экземпляр класса. Мое исправление было . $tokenStatus = $tokenSystem->CheckAuthenticationToken($data[‘hashedPLToken’]);

Он Hebrew для «двойной двоеточия».

@MattiVirkkunen, а как насчет нового языка, который принимает любую ошибку, фиксирует, синтаксис на любом языке? 🙂 Мы можем сделать это.

Его имя для оператора :: в PHP. Это буквально означает «двойная двоеточие». По какой-то причине они назвали это на иврите. Проверьте свой синтаксис кода и поместите :: , где это необходимо: -)

Выделите строку להדגיש מחרוזת. Отныне я, конечно, буду использовать мою собственную функцию array_push לדחוף_מערך в иврите. Я уверен, что всем моим коллегам, не говорящим на иврите, это понравится. Почти все наши разработчики говорят по крайней мере на одном языке, написанном не латинскими буквами. Должно быть весело 🙂

Причина, по которой он написан на иврите, заключается в том, что код был написан израильтянами. Я не думаю, что они пропустили эту ошибку, они оставили ее непереведенной в качестве напоминания.

Читайте также:  Цикл внутри цикла javascript

@Raul Хорошо, так что в моем следующем проекте я напишу код ошибки на итальянском, я итальянский! Что вы ожидаете, английский везде? 🙂

В PHP оператор разрешения области также называется Paamayim Некудотайим (иврит: פעמיים נקודתיים), что означает «двойная двоеточие» в Иврит.

Название «Paamayim Nekudotayim» было представлено в Разработанный Израилем Zend Engine 0.5, используемый в PHP 3. Хотя он был смущая многих разработчиков, которые не говорят на иврите, все равно используется в PHP 5, как в этом примере сообщения об ошибке:

$php -r:: Ошибка анализа: синтаксическая ошибка, неожиданный T_PAAMAYIM_NEKUDOTAYIM

Как и в случае PHP 5.4, сообщения об ошибках в отношении оператора разрешения области все еще включают это имя, но несколько пояснили его значение:

$php -r:: Ошибка анализа: синтаксическая ошибка, неожиданный ‘::’ (T_PAAMAYIM_NEKUDOTAYIM)

Оператор разрешения области действия (также называемый Paamayim Nekudotayim) или в более простые термины, двойной двоеточие, является токеном, который позволяет получить доступ к статические, постоянные и переопределенные свойства или методы класса.

При ссылке на эти элементы вне определения класса используйте имя класса.

Начиная с PHP 5.3.0, можно ссылаться на класс, используя переменная. Значение переменной не может быть ключевым словом (например, self, parent и статические).

Paamayim Nekudotayim, поначалу, казался бы странным выбором для называя двойную двоеточие. Однако при написании Zend Engine 0.5 (который поддерживает PHP 3), что команда Zend решила назвать. Это на самом деле означает двойную двоеточие — на иврите!

Источник

pahanix

Сие чудное слово на иврите обозначает двойное двоеточие 🙂 ожидался видимо вызов метода стандартного класса вроде такого parent::method_name() пропустил $ перед названием переменной.

да уж)) только что у меня вылезла за много лет разработки.
офигел, полез в гугль, напоролся на ваш блог)

Занятно) таже вылезла ошибка)
Так вот подумать если, то почему нормально не могли назвать:
Parse error: syntax error, unexpected ‘)’, expecting ‘::’

Здравствуйте, меня зовут Александр, и я программист. 😉

И у меня тоже только что вылезла эта ошибка 🙂

Буду оригинален: только что вылезла 🙂
в чем-то вроде
$title=(empty(SITE_TITLE)?»:SITE_TITLE. ‘ — ‘).$str;
Оказалось нада
$title=(SITE_TITLE===»?»:SITE_TITLE.’ — ‘).$str;

Да денвере работало, загрузил на сервер — выдало «».

Было: $object = $class::exist($id);
Стало: $object = call_user_func(array($class => ‘exist’), $id);

nda

Parse error: syntax error, unexpected ‘::’

Приветствую! Есть сайт, сам не программист! Со вчерашнего дня начали прилетать ошибки
Parse error: syntax error, unexpected ‘::’ (T_PAAMAYIM_NEKUDOTAYIM) in 123123123/classes/general/main_classes_x ml.php on line 2412

Код:
строка 2412 $arHl = $this->highload_class::getList(
array(
‘select’ => array(‘ID’),
‘filter’ => $arFilter,
‘cache’ => array(‘ttl’ => 86400)//day
))->fetch();

return boolval($arHl[‘ID’]) === false ? false : $arHl[‘ID’];

Источник

Оцените статью