作者:大大炮 | 2023-08-30 09:52
有人有T_PAAMAYIM_NEKUDOTAYIM
吗?
1> Gumbo..:
它是双冒号运算符::
(请参阅解析器标记列表).
并不是的.测试这个`var_dump(空(TRUE))`
@Web_Developer,发生这种情况的原因是因为如果你有一个`foreach($ cats as cat`,对于语法上有效的语句,'cat`之后唯一可接受的字符是`::`,因为它允许你指定一个某些类的静态属性叫做`cat`.例如,如果`cat`类有一个名为`$ mouse`的公共静态成员,那么`foreach($ cats as cat :: $ mouse)`是完全有效的`php`,但是在`cat`之后使用除`::`以外的任何语句都是语法错误.如果`$ mouse`不是`cat`的声明属性,你会得到一个致命的错误,但仍然没有语法错误.
不,我刚刚添加了一个返回相同T_PAAMAYIM_NEKUDOTAYIM的评估.我错误地发现了它.
2> patricksween..:
谷歌创造奇迹.
这是"双冒号" 的希伯来语.
@MattiVirkkunen关于接受任何语言的任何错误,提交,语法的新语言?:) 我们能做到.
3> Ilya Birman..:
它是::
PHP中运算符的名称.字面意思是"双冒号".出于某种原因,他们用希伯来语命名.检查您的代码语法,并::
在适当的位置放置:-)
突出显示字符串是להדגישמחרוזת.从现在开始,我只会使用希伯来字符中的自定义array_push函数לדחוף_מערך.我相信我所有非希伯来语的同事都会喜欢它.几乎所有的开发团队都至少讲一种用非拉丁字符编写的语言.应该很有趣 :)
@Raul好的,所以在我的下一个项目中,我会用意大利语写一些错误代码,我是意大利语!你期待什么,到处都是英语?:-)
希伯来语之所以是因为代码是由以色列人编写的.我不认为他们错过了那个错误,他们把它留在那里没有翻译作为提醒.
4> John Slegers..:
来自维基百科:
在PHP中,范围解析运算符也称为Paamayim Nekudotayim(希伯来语:פעמייםנקודתיים),意思是希伯来语中的"双冒号".
"Paamayim Nekudotayim"这个名字是在以色列开发的PHP 3中使用的Zend Engine 0.5中引入的.虽然许多不会说希伯来语的开发人员一直很困惑,但它仍然在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团队决定称之为的东西.它实际上意味着双冒号 - 希伯来语!
5> Max..:
当您将PHP中的常量应用于empty()函数时,这也会出现:
if (!empty(SOME_CONSTANT)) {
}
那是我的情况.我用这个来解决它:
$string = SOME_CONSTANT;
if (!empty($string)) {
}
@不要惊慌:为什么不呢?empty()不仅测试变量是否存在,还测试它的值是否为"空"(如果是PHP,则零(0)也为空).这样的常量可以表示由用户改变的值 - 例如DB设置或某些真/假值以及代码开发人员在设计时不知道的其他值类型.这在API或代码框架中很常见.我只是不明白为什么Zend解析器的开发人员没有使用每个人都知道和理解的常用词,而是使用了一些希伯来词.我的意思是,它甚至不是很有趣.