Что вы называете оператором поиска стрелок ->
найденным в PHP?
Это знак минуса, тире или дефис, за которым следует знак больше (или правый шеврон).
Как вы произносите это при чтении кода вслух?
Официальное название – «оператор объекта» – T_OBJECT_OPERATOR . Я называю это «стрелкой».
Я называю это « дротик »; как в $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 ()».
Оператор недвижимости.
При чтении $a->b()
или $a->b
громкости я просто говорю «называть b на $ a obj» или «get b из / in / of $ a»
Возвращаясь к Cobol 'in', где вы сказали бы «Переместить 5 на b в a». Сегодня большинство языков квалифицируют вещи в другом направлении.
Но я все равно прочитал бы $a->b();
как «Вызов b в a».
$a->b
Я называю «param b of $ a».
$a->b()
Я называю «функцией b из $ a».
Мне лично нравится быть вербально выражающим мой код в устной форме.
например:
$foo = new Foo(); echo $foo->bar
будет читать как таковой:
echo (/ print) свойство bar объекта foo.
Это многословие и много времени, но я нахожу, что есть причина для того, чтобы я выражал свой код в устной форме, тогда мне, вероятно, нужно четко указать, что я точно сообщаю.
Единственная стрелка может быть легко передана в устной форме как то, что она означает для PHP OOP: Member. Итак, для $a->var
вы бы сказали «Object a a var».
При чтении кода вслух он помогает читать вперед (справочная ссылка, извините), и знать, на что вы действительно можете ссылаться. Например, давайте получим следующий бит кода:
<?php Class MyClass { $foo = 0; public function bar() { return $this->foo; } } $myobject = new MyClass(); $myobject->bar(); ?>
Итак, если бы я прочитал вслух этот блок кода как демонстрацию кода, я бы сказал следующее:
«Определить класс« MyClass », open-brace. Переменная« foo »равна нулю, завершать строку. Определить открытую круглую скобку« открывать-закрыть », открывать-скобки. Возвращать переменную-член« foo »объекта« this », завершать строку Close-brace, close-brace. Создайте новый экземпляр «MyClass» (без аргументов) как переменный объект «myobject», завершите строку. Метод вызова «bar» объекта «myobject», завершите строку.
Однако, если бы я читал код вслух для других учеников или программистов для копирования без визуального, то я бы сказал:
«Открытый PHP-тег (полный), новая строка, отступ, класс MyClass open-brace, newline. Отступ, ['долларовый знак' | 'Объект-маркер'] foo равно 0, точка с запятой, новая строка, новая строка. закрывать круглые скобки, открывать скобки, новую строку.Отступ, вернуть ['знак доллара' | 'Объект-маркер'] эту стрелку foo, точку с запятой, новую строку. Обратный-отступ, close-brace, newline, reverse-indent, close-brace , newline, newline. ['dollar-sign' | 'Object-marker'] myobject равно новым скобкам MyClass с открытым концом, точкой с запятой, новой строкой. ['dollar-sign' | 'Object-marker'] myobject arrow bar open-close круглые скобки, точка с запятой, новая строка. Обратный отступ, тег закрытия 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->$c
будет «Объектом B объекта c».
->
– оператор свойств, используемый для PHP в объектно-ориентированном режиме.
Пользователь187291 ответил на не-субъективный вопрос, так как для субъективного, я говорю «sub». Например, я бы объявлял $x->y
поскольку «x sub y» – «sub» в этом контексте является коротким для «индекса». Это более подходит для обозначения массива; $x['y']
Я также произношу «x sub y». Обычно, когда я читаю код вслух, я использую свои слова, чтобы определить линию, которую может видеть другой разработчик, поэтому неопределенность еще не стала проблемой. Я считаю, что причина в том, что я рассматриваю structs / objects и массивы как «коллекции», а их элементы индексируются как в математических обозначениях.
У японца есть удобная частица для этого, «нет» (の). Это притяжательная частица, означающая примерно «относящуюся к предыдущему термину».
«Фред の барсук» означает «барсук Фреда».
Который долгий путь говорит о том, что, по крайней мере мысленно, а также среди тех, кто понимает японский язык, я склонен их отличать, читая их так:
$A->B(); // "Call $A's B." C::D(); // "Call C の D."
Но чтение обоих как притяжательных «работает» тоже для неяпонских ораторов. Вы также можете перевернуть их и использовать «из», поэтому «D of C» … но это неловко, и вам это сложно сделать, вы быстро читаете, потому что это ломает ваш линейный поток.
Если бы я диктовал, хотя, возможно, когда кодовое кодирование и предлагая ввести тип, я бы назвал конкретные символы как «тире больше, чем стрелка» и «двойная двоеточие» (если я знаю человека, с которым я говорю это PHPophile, я мог бы назвать это «паамайим некудотаим двойной двоеточием» в первый раз, отчасти потому, что это классная шутка, отчасти для предотвращения их «исправления» меня).