Что вы называете этой стрелкой, которая ищет оператор ->
, найденный в PHP?
Это либо знак минус, тире, либо дефис, за которым следует знак больше (или правый шеврон).
Как вы произносите это при чтении кода вслух?
Что вы называете этой стрелкой, которая ищет оператор ->
, найденный в PHP?
Это либо знак минус, тире, либо дефис, за которым следует знак больше (или правый шеврон).
Как вы произносите это при чтении кода вслух?
Официальное название - оператор объекта - T_OBJECT_OPERATOR. Я называю это "стрелкой".
Я называю это " dart"; как в $Foo->bar()
: "Foo dart bar"
Поскольку многие языки используют "точку", как в Foo.bar();
, мне нужно использовать односложное слово. "Стрела" слишком затянута!;)
Так как PHP использует .
"dot" для конкатенации (почему?), я не могу спокойно сказать "точка" - это может смутить.
Обсудив с коллегой некоторое время назад, мы решили "дрочить" как слово, достаточно близкое к "точке", чтобы течь комфортно, но достаточно отчетливо (по крайней мере, когда мы говорим), чтобы не ошибиться в конкатенации "точка".
При чтении PHP-кода вслух я не произношу оператора "- > ". Для $db->prepare($query);
я в основном говорю "Db [short pause] подготовить запрос". Поэтому я думаю, что я говорю это как запятую в обычном предложении.
То же самое относится к Paamayim Nekudotayim ( "::" ).
Когда я читаю код для себя, я считаю его "притяжательной".
Например:
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 member 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. Создать новый экземпляр" MyClass "(без аргументов) в качестве объекта-объекта" myobject ", завершить строку. Метод вызова" bar "объекта" myobject ", завершение строки."
Однако, если бы я читал код вслух для других учеников или программистов для копирования без визуального, то я бы сказал:
"PHP open tag (полный), newline, indent, Class MyClass open-brace, newline. Отступ, ['dollar-sign' | 'Object-marker'] 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 круглые скобки с открытым тегом, точка с запятой, символ новой строки. Обратный отступ, тег закрытия 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 Лорна Митчелл) она называется оператором объекта.
->
- это оператор свойств, используемый для PHP в объектно-ориентированном режиме.
Объект. Таким образом, $a->$b->$c
будет "Объектом B объекта c".
user187291 ответил на не-субъективный вопрос, так как для субъективного, я говорю "sub". Например, я бы произносил $x->y
, поскольку "x sub y" - "sub" в этом контексте является коротким для "индекса". Это более подходит для обозначения массива; $x['y']
Я также произношу "x sub y". Обычно, когда я читаю код вслух, я использую свои слова, чтобы определить линию, которую может видеть другой разработчик, поэтому неопределенность еще не стала проблемой. Я считаю, что причина в том, что я рассматриваю structs/objects и массивы как "коллекции", а их элементы индексируются как в математических обозначениях.
У японца есть удобная частица для этого, "нет" (の). Это притяжательная частица, означающая примерно "относящуюся к предыдущему термину".
"Фред の барсук" означает "Фрид-барсук".
Который долгий путь говорит, что, по крайней мере, мысленно, а также среди тех, кто понимает японский язык, я склонен их отличать, читая их как:
$A->B(); // "Call $A B."
C::D(); // "Call C の D."
Но чтение обоих как притяжательных "работает" тоже для неяпонских ораторов. Вы также можете перевернуть их и использовать "из", поэтому "D of C"... но это неловко, и это трудно сделать, вы быстро читаете, потому что это ломает ваш линейный поток.
Если бы я диктовал, хотя, возможно, когда кодовое кодирование и предлагая ввести тип, я бы назвал конкретные символы как "тире больше, чем стрелка" и "двойная двоеточие" (если я знаю человека, которого я "Говоря с PHPophile, я мог бы назвать это" паамаим некудотаим двойной двоеточием "в первый раз, отчасти потому, что это классная шутка, отчасти для предотвращения" исправления "меня).