2010-04-06 97 views
107

你认为这个箭头看起来像什么->在PHP中找到的运算符?什么是“ - >”PHP运算符,当你大声朗读代码时,你怎么说?

它可以是减号,短划线或连字符,后面跟一个大于号(或右侧的人字形)。

当你大声朗读代码时,你如何发音?

+7

为什么这个问题已关闭作为一个问题的链接到这个问题的答案来回答它? – Ben 2014-02-23 11:14:58

+0

在C++中,“ - >”运算符被称为“指针的成员”,但PHP“ - >”运算符实际上更接近于“。”。运算符在C++中被称为“对象的成员”。 – user34660 2016-12-04 06:58:31

回答

126

正式名称是“对象运算符” - T_OBJECT_OPERATOR。我称之为“箭头”。

+8

请注意,词法标记并不总是通常所指的那个标记。例如,::的名称是“范围解析运算符”,但在该文章中被列为“T_DOUBLE_COLON”。当我得到更多选票时,我会+1给你:) – 2010-04-06 20:52:58

+1

好吧,如果你读到“B执行并返回工资,A箭头C”,听起来很奇怪。它会更像A是指C。 – Ben 2010-04-06 20:54:41

+60

比利的权利,大多数人在随便的交谈中称为:: a T_PAAMAYIM_NEKUDOTAYIM – 2010-04-06 20:56:48

4

物业运营商。

当读取$a->b()$a->b大声我只是说“呼叫B上的$一个目标文件”或“从拿到B /在$ /一个”

+1

@Tor,我想也是“方法操作符”。 – 2010-04-06 20:59:03

+0

@Marcus Adams - 不是真的,看到方法只是在大多数语言中碰巧是函数的属性。尽管只有PHP,但有一个很大的区别,但我仍然称它为一个属性。 – 2010-04-12 03:31:09

9

大多数情况下,我用@Tor Valamo的方法有一些变化(“A的B方法”或“A的B方法”),但我有时会说“点”。例如。 “打A点()”。

+5

我总是说“一个点b”,因为这是几乎所有其他语言。 PHP和非PHP开发者似乎总是理解我。 – Gareth 2010-04-06 20:57:28

+1

是的,我回退到“点”,因为它在大多数其他语言中完成与点操作符相同的操作。那么问题就变成了,你在C/C++中调用' - >'的地方与实际的点运算符有什么不同? – meagar 2010-09-17 16:53:39

1

我工作的高级PHP开发人员说“箭头”。

$A->B; 

当他告诉我键入上面,他会说, “美元A向B” 或

$A->B(); 

“Dollar公司的箭头B括号。”

38

当大声阅读PHP代码时,我不发音“ - >”运算符。对于$db->prepare($query);,我主要说“Db [短暂停顿]准备查询。”所以我想我在正常的句子中像逗号一样说。

Paamayim Nekudotayim(“::”)也是如此。

+9

Paamayah whata? jk – ValleyDigital 2013-12-17 01:55:53

+0

另外被称为[范围分辨率运算符](http://www.php.net/manual/en/language.oop5.paamayim-nekudotayim.php) – CommandZ 2014-02-17 03:51:06

+0

我喜欢称呼Paamayim Nekudotayim(“::”)“ CoCo“作为”冒号冒号“的简称 – Umbrella 2016-09-20 16:19:34

14

当我自己读代码时,我觉得它像是一个“占有欲”的东西。

例如:

x->value = y->value 

会读“X的值等于Ÿ价值”

4

倾听回到“中”,你会说Cobol的“移动5到B的。”今天的大多数语言都是在另一个方向进行合格。

然而,我仍然会读$a->b();作为“呼叫B在一个”。

4
$a->b 

我称之为“$ a的参数b”。

$a->b() 

我称之为“$ a的函数b”。

3

我个人喜欢在口头上表达我的代码时是冗长的。

例如:

$foo = new Foo(); 
echo $foo->bar 

行文这样:

回波(/打印)对象foo的条属性。

它冗长而费时,但我发现如果我有口语表达我的代码的理由,那么我可能需要清楚我的沟通方式。

+0

恐怕你失去了我,Tomasz。 :/ 你什么意思? – Craige 2010-10-27 14:34:51

47

我称之为“dart”;如在$Foo->bar()中:“Foo dart bar”

由于许多语言都使用“dot”,因此在Foo.bar();中,我希望使用单音节词。 “箭”太啰嗦! ;)

由于PHP使用.“点”来连接(为什么?)我不能安全地说“点” - 它可能会混淆。

与同事们讨论一段时间后,我们决定把“飞镖”当作一个类似于“点”的词来舒适地流动,但是足够明显(至少当我们说出来时)不会误认为是串联“点”。

+1

我喜欢那样!为你+1。我想大声说出来会有“镖”变成“点”的危险。太糟糕的“箭头”可能更加根深蒂固。 – 2013-08-21 16:51:37

+0

不错,这是我最有可能用在我脑海中的答案。你的回答很好的证明。 – Liam 2013-09-03 10:58:39

+0

我会记住这一点。 – Chev 2014-01-22 19:49:05

0

->是面向对象模式下用于PHP的属性运算符。

0

对象。所以$a->$b->$c将是'一个对象B对象c'。

1

我会做这样的:

//Instantiated object variable with the name mono call property name 
$mono->name; 

//Instantiated object variable with the name mono call method ship 
$mono->ship(); 

在我的书(PHP Master,洛娜·米切尔),它被称为对象操作

2

单个箭头可以很容易地以口头方式提及,就像它对PHP OOP意味着什么:成员。因此,对于$a->var,您会说“Object a's member var”。

大声阅读代码时,它确实有助于预读(lookahead reference,对不起),并知道您实际上可能指的是什么。例如,让我们下面的代码位:

<?php 
    Class MyClass { 
    $foo = 0; 

    public function bar() { 
     return $this->foo; 
    } 
    } 

    $myobject = new MyClass(); 
    $myobject->bar(); 
?> 

所以,如果我大声朗读这段代码块作为代码的示范,我会这样说:

“定义类“ MyClass',打开大括号,变量'foo'等于零,终止行。定义公共函数'bar'开合括号,open-brace。返回对象'this'的成员变量'foo',终止行。 ,close-brace。实例化'MyClass'的新实例(不带参数)作为变量对象'myobject',终止行,调用对象'myobject'的成员方法'bar',终止行。

但是,如果我是对其他学生或程序员没有视觉复制朗读的代码,那么我会说:

“PHP开放标签(已满),换行,缩进,类MyClass开放大括号,换行符。缩进,['美元符号'| 'Object-marker'] foo等于0,分号,换行符,换行符。公共功能栏开合括号,开放大括号,换行符。缩进,返回['美元符号'| '对象标记']这个箭头foo,分号,换行符。反向缩进,大括号,换行符,反向缩进,大括号,换行符,换行符。 ['美元符号'| 'Object-marker'] myobject等于新的MyClass开 - 关圆括号,分号,换行符。 ['美元符号'| 'Object-marker'] myobject箭头栏打开关闭圆括号,分号,换行符。反向缩进,PHP结束标记“

你在哪里看到的。[‘美元符号’|‘对象标记’],只需选择任何你会为‘$’说话,我两人频频之间切换,只是取决于我观众

所以,概括起来讲,在PHP, - >指的是对象的成员,是它是一个变量,另一个对象,或一个方法

0

user187291了。回答非主观问题,主观问题,我说的是“sub”,例如,我会将$x->y发音为“x sub y” - 在这里“sub”是“subscript”的缩写,这样更合适数组号塔季翁; $x['y']我也发音为“x sub y”。通常,当大声阅读代码时,我会用我的话来识别其他开发人员可以看到的一行,因此模糊性尚未成为问题。我相信原因是我将结构体/对象和数组视为“集合”,并且其元素按照数学符号进行下标。

0

日本人对此有一个方便的粒子,“否”(の)。它是占有性的粒子,大致意思是“与前一个词有关”。

“弗雷德の獾”的意思是“弗雷德的獾”。

通过读他们作为是一个很长的路圆说,至少精神上,也在那些谁懂日语,我倾向于区分他们的:

$A->B(); // "Call $A's B." 
C::D(); // "Call C の D." 

但是看完既作为占有欲“” s“也适用于非日语使用者。你也可以翻转它们并使用“of”,所以“C的D”......但是这很有尴尬,很难做到,因为它会打破你的线性流动。

如果我在口述,但是,也许当编码和编码建议什么类型时,我会将特定字符称为“破折号 - 大于箭头”和“双冒号”(如果我知道该人我说的是一个PHPophile,我可能会第一次称它为“paamayim nekudotayim double-colon”,部分原因是它是一个很酷的玩笑,部分原因是为了防止它们“纠正”我)。