什么是“ - >” PHP操作员调用,你怎么说大声朗读代码?

时间:2010-04-06 20:41:44

标签: php operators

你怎么称这个箭头看起来在PHP中找到->运算符?

它是减号,短划线或连字符后跟大于号(或右V形)。

在大声朗读代码时你怎么发音?

16 个答案:

答案 0 :(得分:134)

官方名称是“对象运营商” - T_OBJECT_OPERATOR。我称之为“箭头”。

答案 1 :(得分:52)

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

由于许多语言都使用Foo.bar();中的“点”,我想要使用单音节词。 “箭头”太啰嗦了! ;)

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

与同事讨论了一段时间后,我们决定将“飞镖”作为一个类似于“点”的词来舒适地流动,但足够明显(至少在我们说的时候)不要被误认为是连接“点”。

答案 2 :(得分:39)

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

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

答案 3 :(得分:14)

当我自己阅读代码时,我认为它就像一个“占有欲的东西”。

例如:

x->value = y->value

会读取“x的值等于y的值”

答案 4 :(得分:9)

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

答案 5 :(得分:4)

物业经营者。

在大声朗读$a->b()$a->b时,我只是说“在$ a obj上打电话”或“从$ a获取b /”

答案 6 :(得分:4)

回到'Cobol',在那里你会说“将5移到b。”今天的大多数语言都符合另一个方向。

然而,我仍然会将$a->b();视为“呼叫b”。

答案 7 :(得分:4)

$a->b 

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

$a->b()

我称之为“$ a的功能b”。

答案 8 :(得分:3)

我个人喜欢口头表达我的代码。

e.g:

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

会这样读:

  

echo(/ print)object foo的bar属性。

这是冗长而且耗费时间,但我发现如果我有理由口头表达我的代码,那么我可能需要明确我正在沟通的内容。

答案 9 :(得分:3)

单箭头可以很容易地作为PHP OOP:会员的含义。因此,对于$a->var,您会说“对象a的成员变量”。

当大声朗读代码时,它确实有助于提前阅读(前瞻性参考,对不起),并知道你实际可能指的是什么。例如,让我们有以下代码:

<?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',终止行。“< / p>

但是,如果我正在为其他学生或程序员大声朗读代码而没有视觉复制,那么我会说:

  

“PHP open tag(full),newline,indent,Class MyClass open-brace,newline.Intnt,['dollar-sign'|'Object-marker'] foo等于0,分号,换行符,换行符.public function bar-open-close括号,open-brace,newline。缩进,返回['dollar-sign'|''Object-marker']此箭头foo,分号,换行符。反向缩进,闭括号,换行符,反向缩进, close-brace,换行符,换行符。['dollar-sign'|''Object-marker'] myobject等于新的MyClass开括号括号,分号,换行符。['dollar-sign'|''Object-marker'] myobject arrow bar open-close括号,分号,换行符。反向缩进,PHP关闭标记。“

你看到['dollar-sign'| '对象标记'],只需选择你倾向于为'$'说话的人,我经常在两者之间切换,这取决于我的观众。

所以,总而言之,在PHP中, - &gt;指对象的成员,无论是变量,另一个对象还是方法。

答案 10 :(得分:1)

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

$A->B;

当他告诉我键入上述内容时,他会说,“美元A箭头B”或

$A->B();

“美元A箭头B parens。”

答案 11 :(得分: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();

在我的书(Lorna Mitchell的 PHP Master )中,它被称为对象运算符

答案 12 :(得分:0)

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

答案 13 :(得分:0)

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

答案 14 :(得分:0)

user187291回答了非主观问题,对于主观问题,我说“sub”。例如,我会将$x->y发音为“x sub y” - 在此上下文中,“sub”是“下标”的缩写。这更适合数组表示法; $x['y']我也发音为“x sub y”。通常在大声读取代码时,我使用我的文字来识别其他开发人员可以看到的行,因此模糊性尚未成为问题。我相信原因是我将结构/对象和数组视为“集合”,其元素按照数学符号下标。

答案 15 :(得分:0)

日本人有一个方便的粒子,&#34;没有&#34; (の)。它是占有性粒子,大致意思是与前一个术语有关,并且#34;。

&#34;弗雷德の獾&#34;意味着&#34;弗雷德的獾#34;。

至少在心理上,以及在了解日语的人中间,我倾向于通过阅读它们来区分它们:

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

但是把它们都视为占有欲&#34;&#34;&#34;也适用于非日语人士。你也可以翻转它们并使用&#34;&#34; C&#34; D&C;#34; ...但是那有点尴尬,很难做到你在阅读很快,因为它打破了你的线性流动。

但是,如果我在口述,或许在配对编码并建议输入内容时,我会将特定字符称为&#34;大于箭头&#34;和&#34;双冒号&#34; (如果我知道我与之交谈的人是一个PHPophile,我可能会称之为&#34; paamayim nekudotayim双冒号&#34;第一次,部分是因为它是一个很酷的开玩笑,部分是为了防止他们“纠正我”。