Jak nazywasz ten ->
operator wyglądający jak strzałka , znaleziony w PHP?
Jest to znak minus, myślnik lub łącznik, po którym następuje znak większości (lub prawy szewron).
Jak to wymawiasz, czytając kod na głos?
Jak nazywasz ten ->
operator wyglądający jak strzałka , znaleziony w PHP?
Jest to znak minus, myślnik lub łącznik, po którym następuje znak większości (lub prawy szewron).
Jak to wymawiasz, czytając kod na głos?
Odpowiedzi:
Oficjalna nazwa to „operator obiektu” - T_OBJECT_OPERATOR . Nazywam to „strzałą”.
T_DOUBLE_COLON
. Dam Ci +1, gdy zdobędę więcej głosów :)
$a->do()
jest to „metoda A do” i $a->thing
„rzecz właściwości A”, więc jest względna.
T_PAAMAYIM_NEKUDOTAYIM
dokładnie oznacza „podwójny dwukropek” po hebrajsku.
Nazywam to " strzałką ”; jak w $Foo->bar()
: „Foo dart bar”
Ponieważ wiele języków używa „kropki”, tak jak w przypadku Foo.bar();
, chciałem użyć słowa jednosylabowego. „Strzałka” jest po prostu zbyt rozwlekła! ;)
Ponieważ PHP używa .
„kropki” do konkatenacji (dlaczego?), Nie mogę bezpiecznie powiedzieć „kropki” - może to być mylące.
Dyskutując ze współpracownikiem jakiś czas temu, zdecydowaliśmy się na „strzałkę” jako słowo na tyle podobne do „kropki”, aby płynąć komfortowo, ale wystarczająco wyraźne (przynajmniej jeśli to powiemy), aby nie było mylone z łączącą „kropką” .
Czytając na głos kod PHP, nie wymawiam operatora „->”. Na $db->prepare($query);
I przede wszystkim powiedzieć „Db [krótka pauza] przygotować zapytania”. Więc myślę, że mówię to jak przecinek w zwykłym zdaniu.
To samo dotyczy Paamayim Nekudotayim („::”).
Czytając sobie kod, myślę o nim jak o „zaborczej rzeczy”.
Na przykład:
x->value = y->value
przeczytałoby „wartość x równa się wartości y”
Najczęściej używam wariacji na temat metody @Tor Valamo („metoda B z A” lub „metoda A's B”), ale czasami mówię „kropka”. Np. „Wywołaj A kropkę B ()”.
->
w C / C ++, gdzie ma inną funkcjonalność niż rzeczywisty operator kropki?
Operator nieruchomości.
Podczas czytania $a->b()
lub $a->b
głośno mówię po prostu „wezwij b na $ a obj” lub „pobierz b z / w / z $ a”
Osobiście lubię być rozwlekły w wyrażaniu swojego kodu werbalnie.
na przykład:
$foo = new Foo();
echo $foo->bar
brzmiałoby tak:
echo (/ print) właściwość bar obiektu foo.
Jest to rozwlekłe i bardziej czasochłonne, ale stwierdzam, że jeśli jest powód, dla którego chcę wyrazić swój kod werbalnie, prawdopodobnie muszę mieć jasność co do tego, co dokładnie przekazuję.
Pojedyncza strzałka może być łatwo określona werbalnie jako oznaczenie dla PHP OOP: Member. Więc dla$a->var
powiedziałbyś "zmienna składowa obiektu a".
Czytając kod na głos, dobrze jest czytać z wyprzedzeniem (patrz wstecz, przepraszam) i wiedzieć, do czego właściwie odnosisz się. Na przykład, przygotujmy następujący fragment kodu:
<?php
Class MyClass {
$foo = 0;
public function bar() {
return $this->foo;
}
}
$myobject = new MyClass();
$myobject->bar();
?>
Tak więc, gdybym miał przeczytać na głos ten blok kodu jako demonstrację kodu, powiedziałbym tak:
„Zdefiniuj klasę„ MyClass ”, otwarty nawias klamrowy. Zmienna„ foo ”równa się zero, zakończ linię. Zdefiniuj funkcję publiczną„ bar ”nawiasy otwierające i zamykające, nawiasy otwierające. Zwróć zmienną składową„ foo ”obiektu„ this ”, zakończ linię . Nawias zamykający, nawias zamykający. Utwórz instancję nowej instancji „MyClass” (bez argumentów) jako obiekt zmienny „myobject”, zakończ linię. Wywołaj metodę składową „bar” obiektu „myobject”, zakończ linię. "
Gdybym jednak czytał kod na głos, aby inni studenci lub programiści mogli go skopiować bez wizualizacji, powiedziałbym:
"Otwierający znacznik PHP (pełny), znak nowej linii, wcięcie, klasa otwartego nawiasu klamrowego MyClass, znak nowej linii. Wcięcie, ['znak dolara' | 'znacznik obiektu'] foo równa się 0, średnik, nowa linia, nowa linia. Public function bar open- nawiasy zamykające, nawias zamykający, znak nowej linii. Wcięcie, powrót ['znak dolara' | 'znacznik obiektu'] ta strzałka foo, średnik, nowa linia. Wcięcie odwrotne, nawias zamykający, nowa linia, wcięcie odwrotne, nawias zamykający , nowa linia, nowa linia. ['znak dolara' | 'znacznik obiektu'] mojobject równa się nowy MyClass otwierający-zamykający nawiasy, średnik, nowy wiersz. ['znak dolara' | 'znacznik obiektu'] pasek strzałki mojego obiektu otwórz-zamknij nawiasy, średnik, znak nowej linii. Odwróć wcięcie, znacznik zamykający PHP. "
Gdzie widzisz ['znak dolara' | „Object-marker”], po prostu wybierz to, co zwykle mówisz za „$”. Często przełączam się między nimi, w zależności od moich odbiorców.
Podsumowując, w PHP -> odnosi się do elementu członkowskiego obiektu, czy to zmiennej, innego obiektu czy metody.
Starszy programista PHP, w którym pracuję, mówi „strzałka”.
$A->B;
Kiedy każe mi wpisać powyższe, powie: „Dolar A, strzałka B” lub za
$A->B();
„Parens dolara A, strzałka B”.
Zrobiłbym to tak:
//Instantiated object variable with the name mono call property name
$mono->name;
//Instantiated object variable with the name mono call method ship
$mono->ship();
W mojej książce ( PHP Master autorstwa Lorny Mitchell) nazywa się to operatorem obiektu .
Japoński ma do tego dogodną cząsteczkę „nie” (の). Jest to cząstka dzierżawcza, oznaczająca z grubsza „odnoszącą się do poprzedniego terminu”.
„Fred の borsuk” oznacza „borsuk Freda”.
To długa droga do stwierdzenia, że przynajmniej mentalnie, a także wśród tych, którzy rozumieją japoński, mam tendencję do rozróżniania ich, czytając je jako:
$A->B(); // "Call $A's B."
C::D(); // "Call C の D."
Ale czytanie obu jako zaborczych „s” działa również dla osób nie mówiących po japońsku. Możesz je również odwrócić i użyć "of", więc "D of C" ... ale to trochę niezręczne i trudne do zrobienia, czytasz szybko, ponieważ przerywa twój liniowy przepływ.
Gdybym jednak dyktował, być może podczas kodowania parami i sugerowania, co wpisać, określiłbym konkretne znaki jako „myślnik większy niż strzałka” i „dwukropek” (jeśli znam osobę, z którą rozmawiam to jest PHPofilem, za pierwszym razem mógłbym nazwać to „paamayim nekudotayim podwójnym dwukropkiem”, częściowo dlatego, że jest to fajny żart, częściowo po to, aby uniemożliwić im „poprawianie” mnie).
->
jest operatorem właściwości używanym w PHP w trybie zorientowanym obiektowo.
user187291 odpowiedział na pytanie nie-subiektywne, a subiektywne, mówię „sub”. Na przykład wymówiłbym $x->y
jako „x sub y” - „sub” w tym kontekście jest skrótem od „indeksu dolnego”. Jest to bardziej odpowiednie dla notacji tablicowej; $x['y']
Wymawiam również „x sub y”. Zazwyczaj podczas głośnego czytania kodu używam słów, aby zidentyfikować linię, którą inny programista może zobaczyć, więc niejednoznaczność nie stała się jeszcze problemem. Uważam, że przyczyną jest to, że postrzegam struktury / obiekty i tablice jako „kolekcje”, a ich elementy są indeksowane, tak jak w notacji matematycznej.