PHPで見つかったこの矢印探し->
演算子とは何ですか?
マイナス記号、ダッシュ、またはハイフンの後に大なり記号(または右シェブロン)が続きます。
コードを大声で読むとき、どのように発音しますか?
正式名は「オブジェクト演算子」です- T_OBJECT_OPERATOR 。私はそれを「矢印」と呼びます。
私はそれを「Dart "; $Foo->bar()
のように: "Foo Dart bar"
多くの言語はFoo.bar();
のように「ドット」を使用するため、1音節のWordを使用したかったのです。 「矢印」は長すぎます! ;)
PHPは.
連結用の「ドット」(なぜ?)安全に「ドット」とは言えません-混乱する可能性があります。
しばらく前に同僚と話し合って、「ダート」を「ドット」に似た言葉として快適に流れるように決定しましたが、「ドット」を連結するのと間違えないように十分に区別します。
自分でコードを読むとき、私はそれを「所有物」のように思います。
例えば:
x->value = y->value
「xの値はyの値に等しい」と読みます
ほとんどの場合、@ Tor Valamoの方法(「AのB方式」または「AのB方式」)にいくつかのバリエーションを使用しますが、「ドット」と言うこともあります。例えば。 「AドットB()を呼び出す」。
プロパティ演算子。
$a->b()
または$a->b
大声で「$ a objでbを呼び出す」または「$ aから/から/でbを取得」と言うだけです。
Cobol 'in'に戻って、「5をbに移動」と言います。今日のほとんどの言語は、物事を他の方向に限定します。
それでも、$a->b();
は「Call b in a」と読みます。
$a->b
「param b of $ a」と呼びます。
$a->b()
私は「$ aの関数b」と呼びます。
私は個人的にコードを口頭で表現するのに冗長であることを好みます。
例えば。:
$foo = new Foo();
echo $foo->bar
次のように読みます:
echo(/ print)オブジェクトfooのbarプロパティ。
冗長で時間がかかりますが、コードを口頭で表現する理由がある場合は、おそらく正確に伝えていることを明確にする必要があります。
単一の矢印は、PHP OOP:Member。だから、for $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」を呼び出し、行を終了します。
ただし、他の学生やプログラマーが視覚なしでコピーできるようにコードを声に出して読んでいた場合、次のように言います。
「PHPオープンタグ(フル)、改行、インデント、クラスMyClassの開き括弧、改行。インデント、['dollar-sign' | 'Object-marker'] fooは0、セミコロン、改行、改行に等しい。public function bar open-閉じ括弧、開き括弧、改行インデント、リターン['dollar-sign' | 'Object-marker']この矢印foo、セミコロン、改行逆インデント、閉じ括弧、改行、逆インデント、閉じ括弧、newline、newline。['dollar-sign' | 'Object-marker'] myobjectは、新しいMyClassの開き-閉じ括弧、セミコロン、改行に等しい['dollar-sign' | 'Object-marker'] myobject arrow bar open-close括弧、セミコロン、改行。逆インデント、PHPタグを閉じる。 "
あなたが見るところ['ドル記号' | 'Object-marker']、 '$'を話す傾向がある方を選択するだけで、2つを頻繁に切り替えます。視聴者に依存します。
つまり、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();
私の本(PHP Masterby Lorna Mitchell)では、オブジェクト演算子と呼ばれています。
オブジェクト。そう $a->$b->$c
は「AオブジェクトBオブジェクトc」です。
日本語にはこれに便利な助詞「no」(の)があります。それは所有的な粒子であり、おおよそ「前の用語に関連する」ことを意味します。
「フレッドのアナグマ」は「フレッドのアナグマ」を意味します。
これは、少なくとも精神的に、そして日本語を理解している人たちの間で、私はそれらを次のように読むことで区別する傾向があると言っている長い道のりです:
$A->B(); // "Call $A's B."
C::D(); // "Call C の D."
しかし、日本語以外の話者にとっては、両方を所有格の「だ」として読むこともできます。また、それらを反転させて「of」、「D of C」を使用することもできます...しかし、それはちょっと厄介で、直線的な流れを壊すので読むのが難しいです。
ただし、ペアコーディングして入力する内容を提案するときなどに口述する場合は、特定の文字を「ダッシュより大きい矢印」と「二重コロン」と呼びます(話している人を知っている場合) toはPHPophileであり、「paamayim nekudotayim double-colon」と初めて呼ぶかもしれませんが、それはクールな冗談であり、一部は「修正」を防ぐためです。
ser187291 非主観的な質問に答えました。主観的な質問については、「sub」と言います。たとえば、$x->y
は「x sub y」と発音します。このコンテキストでは「sub」は「subscript」の略です。これは配列表記に適しています。 $x['y']
私も「x sub y」と発音します。通常、コードを声に出して読むとき、私は他の開発者が見ることができる行を識別するために自分の言葉を使用しているので、あいまいさはまだ問題になりません。原因は、構造体/オブジェクトおよび配列を「コレクション」と見なし、その要素に数学表記のように添え字を付けていることだと考えています。
->
は、オブジェクト指向モードでPHPに使用されるプロパティ演算子です。