Как вы называете этот стрелочный ->
оператор, найденный в PHP?
Это либо знак минуса, тире или дефиса, за которым следует знак «больше» (или правый шеврон).
Как вы произносите его, когда читаете код вслух?
Как вы называете этот стрелочный ->
оператор, найденный в PHP?
Это либо знак минуса, тире или дефиса, за которым следует знак «больше» (или правый шеврон).
Как вы произносите его, когда читаете код вслух?
Ответы:
Официальное название - «оператор объекта» - T_OBJECT_OPERATOR . Я называю это «стрелой».
T_DOUBLE_COLON
. Я поставлю +1 к вам, когда получу еще несколько голосов :)
$a->do()
«метод A Do» и $a->thing
«Thing свойства A», так что это относительно.
T_PAAMAYIM_NEKUDOTAYIM
на иврите это означает «двойное двоеточие».
Я называю это « дротиком »; как в $Foo->bar()
: "Foo dart bar"
Поскольку во многих языках используется «точка», Foo.bar();
я хотел использовать односложное слово. «Стрела» слишком многословна! ;)
Поскольку PHP использует .
«точку» для конкатенации (почему?), Я не могу с уверенностью сказать «точка» - это может сбить с толку.
Обсуждая некоторое время назад с коллегой, мы выбрали «дротик» как слово, достаточно похожее на «точку», чтобы плавно перемещаться, но достаточно отчетливое (по крайней мере, когда мы говорим это), чтобы не быть ошибочно принятым за объединяющуюся «точку». ,
При чтении кода PHP вслух я не произносю оператор «->». Потому что $db->prepare($query);
я обычно говорю «Db [короткая пауза] подготовьте запрос». Думаю, я говорю это как запятую в обычном предложении.
То же самое и с Паамаим Некудотаим ("::").
Читая код про себя, я думаю о нем как о «собственнической вещи».
Например:
x->value = y->value
будет читать "значение x равно значению y"
Чаще всего я использую некоторые вариации метода @Tor Valamo («метод B для A» или «метод A для B»), но иногда я говорю «точка». Например, «вызовите точку B ()».
->
в C / C ++, где он имеет отличные от фактического оператора точки функции?
Оператор собственности.
При чтении $a->b()
или $a->b
громко я просто говорю "позвонить b на объект $ a" или "получить b от / в / из $ a"
Мне лично нравится быть многословным, когда я выражаю свой код устно.
например:
$foo = new Foo();
echo $foo->bar
читалось бы как таковое:
echo (/ print) свойство bar объекта foo.
Это многословно и требует больше времени, но я считаю, что если у меня есть причина выражать свой код устно, то мне, вероятно, нужно четко понимать, о чем я говорю.
Одиночная стрелка может легко обозначаться словесно как то, что она означает для PHP OOP: Member. Итак, $a->var
вы бы сказали: «Объект a's member var».
При чтении кода вслух полезно читать вперед (ссылка на прогноз, извините) и знать, о чем вы на самом деле имеете в виду. Например, у нас есть следующий фрагмент кода:
<?php
Class MyClass {
$foo = 0;
public function bar() {
return $this->foo;
}
}
$myobject = new MyClass();
$myobject->bar();
?>
Итак, если бы я прочитал вслух этот блок кода в качестве демонстрации кода, я бы сказал следующее:
«Определите класс MyClass, открывающая фигурная скобка. Переменная foo равна нулю, завершает строку. Определите открытую-закрывающую скобку bar, открывающую фигурную скобку. Возвращает переменную-член« foo »объекта« this », завершает строку . Закрывающая фигурная скобка, закрывающая фигурная скобка. Создание нового экземпляра MyClass (без аргументов) как переменного объекта myobject, завершение строки. Вызов метода члена 'bar' объекта 'myobject', завершение строки. "
Однако, если бы я читал код вслух, чтобы другие студенты или программисты могли скопировать его без наглядного пособия, я бы сказал:
"Открытый тег PHP (полный), новая строка, отступ, открытая фигурная скобка класса MyClass, новая строка. Отступ, ['знак доллара' | 'Объект-маркер'] foo равен 0, точка с запятой, новая строка, новая строка. Открытая панель функций. закрывающие скобки, открывающая фигурная скобка, новая строка. Отступ, возврат ['знак доллара' | 'Маркер объекта'] эта стрелка foo, точка с запятой, новая строка. Обратный отступ, закрывающая фигурная скобка, новая строка, обратный отступ, закрывающая фигурная скобка , новая строка, новая строка. ['знак доллара' | 'объект-маркер'] myobject соответствует новому MyClass открывать-закрывать круглые скобки, точку с запятой, новую строку. ['знак доллара' | 'объект-маркер'] панель стрелок myobject открывать-закрывать круглые скобки, точка с запятой, новая строка. Обратный отступ, закрывающий тег PHP. "
Где вы видите ['знак доллара' | «Объект-маркер»], просто выберите то, что вы склонны говорить для «$», я часто переключаюсь между ними, просто в зависимости от моей аудитории.
Итак, чтобы подвести итог, в PHP -> относится к члену объекта, будь то переменная, другой объект или метод.
Старший разработчик PHP, где я работаю, говорит "стрелка".
$A->B;
Когда он говорит мне ввести вышеуказанное, он скажет: «Доллар A стрелка B» или
$A->B();
"Доллар A стрелка B parens".
Я бы сделал так:
//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 by Lorna Mitchell») это называется оператором объекта .
В японском языке для этого есть удобная частица «нет» (の). Это притяжательная частица, примерно означающая «относящаяся к предыдущему термину».
«Барсук Фреда» означает «барсук Фреда».
Это далеко от того, чтобы сказать, что по крайней мере мысленно, а также среди тех, кто понимает японский, я склонен различать их, читая их как:
$A->B(); // "Call $A's B."
C::D(); // "Call C の D."
Но чтение обоих как притяжательного «s» тоже работает для не говорящих по-японски. Вы также можете перевернуть их и использовать «of», так что «D of C» ... но это немного неудобно, и это трудно сделать, вы быстро читаете, потому что это нарушает ваш линейный поток.
Однако, если бы я диктовал, возможно, при парном кодировании и предлагая, что набирать, я бы назвал конкретные символы «тире больше стрелки» и «двойное двоеточие» (если я знаю человека, с которым говорю to является PHPофилом, я мог бы назвать это "paamayim nekudotayim двойное двоеточие" в первый раз, отчасти потому, что это крутая шутка, отчасти для того, чтобы они не "исправили" меня).
->
- оператор свойства, используемый для PHP в объектно-ориентированном режиме.
user187291 ответил на несубъективный вопрос, что касается субъективного, я говорю «суб». Например, я бы произнес $x->y
«x sub y» - «sub» в этом контексте является сокращением от «subscript». Это больше подходит для обозначения массива; $x['y']
Я также произносю «x sub y». Обычно при чтении кода вслух я использую свои слова, чтобы идентифицировать строку, которую может видеть другой разработчик, поэтому двусмысленность еще не стала проблемой. Я считаю, что причина в том, что я рассматриваю структуры / объекты и массивы как «коллекции», а их элементы имеют индексы, как в математической нотации.