您如何称呼->
PHP中的这种箭头式运算符?
它可以是减号,破折号或连字符,后接大于号(或右V形)。
大声朗读代码时如何发音?
您如何称呼->
PHP中的这种箭头式运算符?
它可以是减号,破折号或连字符,后接大于号(或右V形)。
大声朗读代码时如何发音?
Answers:
正式名称是“对象运算符” -T_OBJECT_OPERATOR。我称它为“箭头”。
T_DOUBLE_COLON
。当我获得更多投票时,我会为您+1 :)
$a->do()
是“ A的方法Do”,并且$a->thing
是“ A的属性Thing”,所以它是相对的。
T_PAAMAYIM_NEKUDOTAYIM
在希伯来语中确切地表示“双冒号”。
我称之为“ 飞镖 ”;如$Foo->bar()
:“ Foo dart bar”
由于许多语言都使用“点”,因此Foo.bar();
我希望使用一个音节的单词。“箭头”太long了!;)
由于PHP使用.
“点”进行连接(为什么?),所以我不能安全地说“点”,这可能会造成混淆。
与同事讨论时,我们决定将“飞镖”定义为与“点”相似的词,以使其顺畅地流动,但又有足够的区别(至少在我们说出来时),不要被误认为是串联的“点” 。
当大声阅读PHP代码时,我不会发音“->”运算符。因为$db->prepare($query);
我通常会说“ Db [短暂停]准备查询”。所以我想我说的就像普通句子中的逗号一样。
Paamayim Nekudotayim(“ ::”)也是如此。
物业经营者。
在朗读$a->b()
或$a->b
大声说话时,我只说“在$ a obj上调用b”或“从$ a中/在$ a中获取b”
我个人喜欢用口头表达我的代码时很冗长。
例如:
$foo = new Foo();
echo $foo->bar
内容如下:
echo(/ print)对象foo的bar属性。
它冗长且耗时,但是我发现如果有理由要我口头表达我的代码,那么我可能需要弄清楚我到底要传达什么。
单个箭头可以很容易地在口头上表示对PHP OOP:Member的含义。因此对于$a->var
您会说“对象a的成员var”。
大声阅读代码时,提前阅读(提前参考,对不起)并知道您可能实际在指的内容确实有帮助。例如,让我们有以下代码:
<?php
Class MyClass {
$foo = 0;
public function bar() {
return $this->foo;
}
}
$myobject = new MyClass();
$myobject->bar();
?>
因此,如果我要大声阅读此代码块作为代码演示,我会这样说:
“定义类'MyClass',大括号。变量'foo'等于零,终止行。定义公共函数'bar'开闭括号,大括号。返回对象变量'this'的成员变量'foo',终止行关闭括号,关闭括号。将MyClass的新实例实例化(无自变量)作为变量对象myobject,终止行。调用对象myobject的成员方法bar终止行。”
但是,如果我正在大声阅读代码以供其他学生或程序员在没有视觉效果的情况下进行复制,那么我会说:
“ PHP开放标记(完整),换行,缩进,类MyClass开放括号,换行。缩进,['美元符号'|'对象标记'] foo等于0,分号,换行,换行。公共功能栏开放-右括号,开括号,换行符缩进,返回['dollar-sign'|'Object-marker']此箭头foo,分号,换行符。反向缩进,闭括号,换行符,反向缩进,闭括号,换行,换行[[美元符号] |'对象标记'] myobject等于新的MyClass开闭括号,分号,换行符[[美元符号] |'对象标记'] myobject箭头条开闭括号,分号,换行符。反向缩进,PHP关闭标记。”
在哪里看到['美元符号'| '对象标记'],只要选择您倾向于说“ $”的那个,我就会经常在这两个词之间切换,这取决于我的听众。
因此,总而言之,在PHP中,->是指对象的成员,可以是变量,另一个对象或方法。
我工作的高级PHP开发人员说“箭头”。
$A->B;
当他告诉我输入以上内容时,他会说“美元A箭头B”或
$A->B();
“美元A箭头B括号。”
我会这样:
//Instantiated object variable with the name mono call property name
$mono->name;
//Instantiated object variable with the name mono call method ship
$mono->ship();
在我的书(Lorna Mitchell的PHP Master)中,将其称为对象运算符。
日语对此有一个方便的词“ no”(の)。它是所有格粒子,大致意思是“与前一个术语有关”。
“ Fredのbadge”的意思是“ Fred的s”。
这是一个漫长的回合,至少在思想上,以及在那些懂日语的人中,我倾向于通过将它们读为来区分它们:
$A->B(); // "Call $A's B."
C::D(); // "Call C の D."
但是对于非日语使用者来说,将它们都读为所有格“'”也是可以的。您也可以翻转它们并使用“ of”,因此使用“ D of C” ...但这有点尴尬,并且很难快速阅读,因为它破坏了线性流。
但是,如果我要说的话,也许在配对编码并建议键入内容时,我会将特定字符称为“破折号-大于箭头”和“双冒号”(如果我知道我在说的人) to是PHPophile,我可能会第一次将其称为“ paamayim nekudotayim双冒号”,部分是因为这是一个很酷的玩笑,部分是为了防止他们“纠正”我。
user187291已回答了非主观问题,至于主观问题,我说“ sub”。例如,$x->y
在这种情况下,我会发音为“ x sub y”-“ sub”是“下标”的缩写。这更适合于数组表示法。$x['y']
我也发音“ x sub y”。通常,当大声朗读代码时,我会用我的文字来识别其他开发人员可以看到的一行,因此歧义尚未成为问题。我相信原因是我将结构/对象和数组视为“集合”,并且将其元素下标为数学符号。