->
PHP'de bulunan bu ok görünümlü operatöre ne diyorsunuz ?
Bu, bir eksi işareti, kısa çizgi veya kısa çizgidir ve ardından büyüktür işareti (veya sağ köşeli çift ayraç) gelir.
Kodu yüksek sesle okurken nasıl telaffuz edersiniz?
->
PHP'de bulunan bu ok görünümlü operatöre ne diyorsunuz ?
Bu, bir eksi işareti, kısa çizgi veya kısa çizgidir ve ardından büyüktür işareti (veya sağ köşeli çift ayraç) gelir.
Kodu yüksek sesle okurken nasıl telaffuz edersiniz?
Yanıtlar:
Resmi adı "nesne operatörü" - T_OBJECT_OPERATOR . Ben buna "ok" diyorum.
T_DOUBLE_COLON
. Biraz daha oy
$a->do()
"A'nın yöntemi Do" ve $a->thing
"A'nın özelliği Şey" olduğunu söyleyebilirim, yani görecelidir.
T_PAAMAYIM_NEKUDOTAYIM
İbranice'de tam olarak "çift iki nokta" anlamına gelir.
Ben buna " dart " diyorum ; de olduğu gibi$Foo->bar()
: "Foo dart çubuğu"
Birçok dilde olduğu gibi "nokta" kullanıldığından Foo.bar();
tek heceli bir kelimenin kullanılmasını istedim. "Ok" çok uzun soluklu! ;)
PHP kullandığından beri .
birleştirme için "nokta" (neden?) Güvenli bir şekilde "nokta" diyemem - bu kafa karıştırabilir.
Bir süre önce bir iş arkadaşımızla tartışırken, rahat bir şekilde akması için "nokta" ya yeterince benzer, ancak bir araya getirilmiş "nokta" ile karıştırılmayacak kadar (en azından söylediğimizde) yeterince farklı bir kelime olarak "dart" üzerine karar verdik. .
PHP kodunu yüksek sesle okurken, "->" operatörünü telaffuz etmiyorum. İçin $db->prepare($query);
çoğunlukla söylemek "Db [kısa duraklama] sorgusu hazırlar." Sanırım bunu normal bir cümlede virgül gibi konuşuyorum.
Aynı şey Paamayim Nekudotayim ("::") için de geçerli.
Kodu kendi kendime okurken, bunu bir "sahiplenici şey" olarak düşünüyorum.
Örneğin:
x->value = y->value
"x'in değeri y'nin değerine eşittir" şeklinde okunur
Çoğu zaman, @ Tor Valamo'nun yönteminde ("A'nın B yöntemi" veya "A'nın B yöntemi") bazı varyasyonlar kullanıyorum, ancak bazen "nokta" diyorum. Örneğin, "A noktasını B () arayın".
->
, gerçek nokta operatöründen farklı işlevlere sahip olduğu C / C ++ 'da ne ararsınız?
Mülk operatörü.
Okurken $a->b()
veya $a->b
yüksek sesle okurken sadece "$ a objede b ara" veya "$ a'dan / in / dan b al" derim
Ben şahsen kodumu sözlü olarak ifade ederken ayrıntılı olmayı seviyorum.
Örneğin:
$foo = new Foo();
echo $foo->bar
şöyle okurdu:
foo nesnesinin bar özelliğini echo (/ print).
Ayrıntılı ve daha fazla zaman alıyor, ancak kodumu sözlü olarak ifade etmem için bir neden olup olmadığını anlıyorum, o zaman muhtemelen tam olarak ne ilettiğime dair net olmam gerekir.
Tek ok, PHP OOP için anlamı olarak sözlü olarak kolayca anılabilir: Üye. Yani, $a->var
sizin için "Nesne a'nın üye var" diyeceksiniz.
Kodu yüksek sesle okurken, ileriyi okumak (ileriye dönük referans, üzgünüm) ve gerçekte neye atıfta bulunduğunuzu bilmek yardımcı olur. Örneğin, aşağıdaki kod parçasına sahip olalım:
<?php
Class MyClass {
$foo = 0;
public function bar() {
return $this->foo;
}
}
$myobject = new MyClass();
$myobject->bar();
?>
Öyleyse, bu kod bloğunu bir kod gösterimi olarak yüksek sesle okuyacak olsaydım, şunu derdim:
"MyClass" sınıfını tanımla, açık küme ayracı. Değişken "foo" sıfıra eşittir, sonlandırma satırı. Genel işlev 'bar' aç-kapa parantezlerini, küme ayracı tanımla. 'This' nesnesinin üye değişkenini 'foo' döndür, son satırı . Kapa ayraç, yakın ayraç. Değişken nesne olarak 'MyClass' (bağımsız değişken yok) örneğini oluşturun, satırı sonlandırın. 'Nesnem' nesnesinin üye yöntemini 'bar'ı çağırın, son satırı. "
Ancak, kodu diğer öğrencilerin veya programcıların görsel olmadan kopyalaması için yüksek sesle okuyor olsaydım, o zaman derdim:
"PHP open tag (full), newline, indent, Class MyClass open-brace, newline. Indent, ['dolar-sign' | 'Object-marker'] foo equals 0, noktalı virgül, yeni satır, yeni satır. Public function bar open- kapat parantezler, açık parantez, yeni satır. Girinti, döndür ['dolar işareti' | 'Nesne işaretçisi'] bu ok foo, noktalı virgül, yeni satır. Ters girinti, küme ayracı, yeni satır, ters girinti, küme ayracı , yeni satır, yeni satır. ['dolar işareti' | 'Nesne işaretçisi'] myobject eşittir yeni Sınıfım aç-kapa parantezleri, noktalı virgül, yeni satır. ['dolar işareti' | 'Nesne işaretçisi'] myobject ok çubuğu açma-kapama parantezler, noktalı virgül, yeni satır. Ters girinti, PHP kapatma etiketi. "
Gördüğünüz yerde ['dolar işareti' | 'Nesne işaretleyici'], sadece '$' için hangisini tercih ederseniz seçin, ikisi arasında sık sık geçiş yapıyorum, sadece hedef kitleye bağlı.
Yani, özetlemek gerekirse, PHP'de -> bir nesnenin bir üyesini ifade eder, ister değişken, ister başka bir nesne veya bir yöntem olsun.
Çalıştığım kıdemli PHP geliştiricisi "ok" diyor.
$A->B;
Yukarıdakini yazmamı söylediğinde, "Dolar A ok B" diyecek veya
$A->B();
"Dolar A ok B parenleri."
Bunu şöyle yapardım:
//Instantiated object variable with the name mono call property name
$mono->name;
//Instantiated object variable with the name mono call method ship
$mono->ship();
Kitabımda ( Lorna Mitchell tarafından yazılan PHP Master ) buna nesne operatörü deniyor .
Japoncada bunun için uygun bir parçacık var, "hayır" (の). Bu, kabaca "önceki terimle ilişkili" anlamına gelen iyelik parçacığıdır.
"Fred の porsuk", "Fred'in porsuğu" anlamına gelir.
Bu, en azından zihinsel olarak ve Japoncayı anlayanlar arasında onları şu şekilde okuyarak ayırt etme eğiliminde olduğumu söylemenin uzun bir yoludur:
$A->B(); // "Call $A's B."
C::D(); // "Call C の D."
Ancak her ikisini de iyelik "s" olarak okumak Japonca olmayanlar için de işe yarar. Ayrıca onları çevirebilir ve "of" kullanabilirsiniz, yani "D of C" ... ama bu biraz garip ve bunu yapmak zordur, çünkü lineer akışınızı bozar.
Yine de dikte ediyor olsaydım, belki eşli kodlama yaparken ve ne yazmam gerektiğini önerirken, belirli karakterlere "oktan büyük tire" ve "çift iki nokta üst üste" (eğer konuştuğum kişiyi tanıyorsam) bir PHPofil, buna ilk seferinde "paamayim nekudotayim çift kolon" diyebilirim, kısmen havalı bir şaka olduğu için, kısmen beni "düzeltmelerini" önlemek için).
->
nesneye yönelik modda PHP için kullanılan özellik operatörüdür.
user187291 öznel olmayan soruyu yanıtladı, öznel olan soruyu ise "alt" diyorum. Örneğin, $x->y
bu bağlamda "x alt y" - "alt" olarak "alt simge" nin kısaltması olarak telaffuz ederim . Bu, dizi gösterimi için daha uygundur; $x['y']
Ayrıca "x sub y" de telaffuz ediyorum. Tipik olarak, kodu yüksek sesle okurken, diğer geliştiricinin görebileceği bir satırı belirlemek için kelimelerimi kullanıyorum, bu nedenle belirsizlik henüz bir sorun haline gelmemiştir. Bunun nedeninin yapıları / nesneleri ve dizileri "koleksiyonlar" olarak görmem ve bunların öğelerinin matematiksel gösterimde olduğu gibi alt simge olması olduğuna inanıyorum.