什么是“ – >”PHP运算符叫,当你大声朗读代码的时候怎么说呢?
你看什么叫这个箭头->
运营商在PHP中find?
这是一个减号,短划线或连字符,然后是一个大于号(或右人字形)。
大声朗读代码时你怎么读?
正式名称是“对象运算符” – T_OBJECT_OPERATOR 。 我称之为“箭头”。
我称之为“ 飞镖 ”。 如$Foo->bar()
:“Foo dart bar”
由于许多语言使用Foo.bar();
“点” 我想要一个单音节词来使用。 “箭”太漫长了! ;)
自PHP使用.
为什么连接(为什么?)我不能安全地说“点” – 它可能会混淆。
我们和同事讨论了一下,我们决定把“飞镖”当作一个类似于“点”的词来舒适地stream动,但是足够明显的(至less在我们说出来的时候)不要误认为一个串联的“点” 。
当大声阅读PHP代码时,我不会发音“ – >”运算符。 对于$db->prepare($query);
我主要说“Db [短暂停顿]准备查询。” 所以我想我在正常的句子中用逗号来说。
Paamayim Nekudotayim(“::”)也是如此。
在阅读代码给我自己的时候,我想它就像一个“占有物”。
例如:
x->value = y->value
会读“x的值等于y的值”
大多数情况下,我在@Tor Valamo的方法(“A的B方法”或“A的B方法”)上使用了一些变体,但我有时会说“点”。 例如“呼叫点B()”。
物业经营者。
当读$a->b()
或$a->b
我只是说“在$ a obj上调用b”或者“从$ a中获取b”
回头看看Cobol'在'你会说'移动5到b'。 今天大多数语言都认为这是另一个方向。
然而,我仍然会读$a->b();
作为“打电话给b”。
$a->b
我称之为“$ a的参数b”。
$a->b()
我称之为“$ a的函数b”。
我个人喜欢用口头expression我的代码。
例如:
$foo = new Foo(); echo $foo->bar
会这样读:
echo(/ print)对象foo的bar属性。
这是冗长而费时的,但是我发现如果我有口头expression自己的代码的理由,那么我可能需要清楚自己正在沟通什么。
单个箭头可以很容易地被称为PHP OOP:Member的含义。 所以,对于$a->var
你会说“Object a的成员var”。
当大声阅读代码时,它有助于提前阅读(lookahead reference,对不起),并知道你可能实际上指的是什么。 例如,让我们有以下一些代码:
<?php Class MyClass { $foo = 0; public function bar() { return $this->foo; } } $myobject = new MyClass(); $myobject->bar(); ?>
所以,如果我大声朗读这个代码块作为代码的演示,我会这样说:
定义类'MyClass',打开大括号,variables'foo'等于零,终止行定义公共函数'bar'开关圆括号,打开大括号返回对象'this'的成员variables'foo',终止行。Close-brace,close-brace。实例化'MyClass'的新实例(无参数)作为variables对象'myobject',终止行。调用对象'myobject'的成员方法'bar',终止行。
但是,如果我为其他学生或程序员大声阅读代码而无视觉复制,那么我会说:
“开放标记(全部)”,换行符,缩进,类MyClass开放大括号,换行符缩进,['dollar-sign'|'Object-marker'] foo等于0,分号,换行符,换行符public function bar open-closures圆括号,打开大括号,换行符。缩进,返回['美元符号'|'对象标记']这个箭头foo,分号,换行符。 ,newline,newline。['dollar-sign'|'Object-marker'] myobject等于新的MyClass开 – 关圆括号,分号,换行符['dollar-sign'|'Object-marker'] myobject arrow bar open-close括号,分号,换行符,反向缩进,PHPclosures标签“。
你在哪里看到['dollar-sign'| '对象标记'],只要select你倾向于说'$'的任何一个,我经常在两者之间切换,这取决于我的观众。
因此,总结一下,在PHP中, – >指的是一个对象的成员,可以是variables,另一个对象或方法。
我工作的高级PHP开发人员说“箭头”。
$A->B;
当他要求我input上面的内容时,他会说:“美元箭头B”或者
$A->B();
“美元箭头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 )中,它被称为对象操作符 。
目的。 所以$a->$b->$c
将是'A对象B对象c'。
->
是面向对象模式下用于PHP的属性运算符。
user187291回答了非主观的问题,至于主观的问题,我说“sub”。 例如,我会将$x->y
为“x sub y” – 在这种情况下,“sub”是“下标”的缩写。 这对于数组表示法更合适。 $x['y']
我也发音为“x sub y”。 通常在大声朗读代码时,我正在用我的话来识别其他开发者可以看到的一行,所以这个含糊不清的问题还没有成为一个问题。 我相信原因是我认为结构体/对象和数组是“集合”,其元素如math符号下标。
日语有一个方便的粒子,“不”(の)。 它是占有性的微粒,大致意思是“与前一项有关”。
“弗雷德の獾”的意思是“弗雷德的獾”。
至less在精神上以及在懂日语的人之间,我有一个漫长的说法,我倾向于通过阅读他们来区分他们:
$A->B(); // "Call $A's B." C::D(); // "Call C の D."
但是对于非日语使用者来说,作为所有格的“s”阅读也是有效的。 你也可以翻转它们并使用“of”,所以“C的D”……但是这样做很尴尬,很难做到,因为它会打破你的线性stream动。
如果我是口授的,也许在编码和提示什么types的时候,我会把特定的字符称为“破折号 – 大于箭头”和“双冒号”(如果我知道我在说话的人因为这是一个很酷的玩笑,部分原因是为了防止他们“纠正”我)。