2010-04-06 89 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」,部分原因是它是一個很酷的玩笑,部分原因是爲了防止它們「糾正」我)。