От Wikipedia:
В 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)
От официальная документация по PHP:
Оператор разрешения области действия (также называемый Paamayim Nekudotayim) или в более простые термины, двойной двоеточие, является токеном, который позволяет получить доступ к статические, постоянные и переопределенные свойства или методы класса.
При ссылке на эти элементы вне определения класса используйте имя класса.
Начиная с PHP 5.3.0, можно ссылаться на класс, используя переменная. Значение переменной не может быть ключевым словом (например, self, parent и статические).
Paamayim Nekudotayim, поначалу, казался бы странным выбором для называя двойную двоеточие. Однако при написании Zend Engine 0.5 (который поддерживает PHP 3), что команда Zend решила назвать. Это на самом деле означает двойную двоеточие — на иврите!
Это оператор двойной кишки :: (см. Список токенов парсера ).
Google творит чудеса.
Это иврит для «двойной толстой кишки».
Это имя для оператора :: на 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 ():
if (!empty(SOME_CONSTANT)) { }
Это было мое дело. Я решил это, используя это:
$string = SOME_CONSTANT; if (!empty($string)) { }
Для меня это произошло в рамках функции класса.
В PHP 5.3 и выше $this::$defaults работал нормально; когда я поменял код на сервер, который по какой-то причине имел более низкий номер версии, он выбросил эту ошибку.
Решение, в моем случае, должно было использовать ключевое слово self вместо $this :
self::$defaults работает отлично.
Вот как я это понял. Я искал пределы выражений в двойных кавычках. Итак, это код:
Код
$a = 5; echo "{$a == 5 ? 'yes' : 'no'} its possible";
Вывод
PHP Parse error: syntax error, unexpected '==' (T_IS_EQUAL), expecting :: (T_PAAMAYIM_NEKUDOTAYIM) in php shell code on line 1
(PHP 4, PHP 5, PHP 7, PHP 8)
hebrev — Преобразует текст на иврите из логической кодировки в визуальную
Описание
hebrev(string $string, int $max_chars_per_line = 0): string
Эта функция пытается избежать разрывов слов.
Список параметров
-
string -
Входная строка на иврите.
-
max_chars_per_line -
Этот необязательный параметр указывает максимально
возвращаемое число символов на строку.
Возвращаемые значения
Возвращает строку в визуальной кодировке.
Смотрите также
- hebrevc() — Преобразует текст на иврите из логической кодировки в визуальную с преобразованием перевода строки
udioron at geeee mmmaaaaiiillll dotcom ¶
14 years ago
This might work for unicode strings:
<?php
$s = iconv("ISO-8859-8", "UTF-8", hebrev(iconv("UTF-8", "ISO-8859-8", $s)));
?>
Udi
socket at linuxloony dot net ¶
18 years ago
The hebrev function changes the string order to RTL.
Use fribidi_log2vis insted if you need LTR text direction
$text = fribidi_log2vis($text,FRIBIDI_LTR, FRIBIDI_CHARSET_CP1255)
zak at php dot net ¶
22 years ago
hebrev() changes the flow of any Hebrew characters in a string from right-to-left to left-to-right.
It only affects characters within the range of ASCII 224-251 (except for punctuation).
У кого-нибудь есть T_PAAMAYIM_NEKUDOTAYIM?
Ответы:
Google творит чудеса.
Это иврит для «двойного двоеточия».
Это имя для ::оператора в PHP. Это буквально означает «двойное двоеточие». Почему-то они назвали это на иврите. Проверьте синтаксис вашего кода и вставьте, ::где это уместно 🙂
Из Википедии :
В 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 ():
if (!empty(SOME_CONSTANT)) {
}
Это был мой случай. Я решил это с помощью этого:
$string = SOME_CONSTANT;
if (!empty($string)) {
}
Я очень хорошо знаю иврит, поэтому, чтобы уточнить для вас имя «Paamayim Nekudotayim», перефразированное значение «двойной двоеточие», но переводится буквально:
- «Паамаим» означает «два» или «дважды»
- «Некудотаим» означает «точки» (букв. «Дыры»)
- На иврите некуда означает точку.
- Множественное число — это некудот , то есть точки, которые действуют как гласные на английском языке.
- Причина, по которой он называется Некудотаим, заключается в том, что суффикс «-айим» также означает «два» или «дважды», но обычно он означает два объекта, а не два действия, поэтому он
::означает «два раза, две точки» или более широко известный как оператор разрешения области .
Это может произойти на foreachs при использовании:
foreach( $array as $key = $value )
вместо
foreach( $array as $key => $value )
Для меня это произошло внутри функции класса.
В PHP 5.3 и выше $this::$defaultsработал нормально; когда я поменял код на сервер, который по какой-либо причине имел меньший номер версии, он выдал эту ошибку.
Решение, в моем случае, заключалось в использовании ключевого слова selfвместо $this:
self::$defaults работает просто отлично.