Что называется "->" PHP-оператором и как вы это говорите при чтении кода вслух?

Что вы называете этой стрелкой, которая ищет оператор ->, найденный в PHP?

Это либо знак минус, тире, либо дефис, за которым следует знак больше (или правый шеврон).

Как вы произносите это при чтении кода вслух?

Ответ 1

Официальное название - оператор объекта - T_OBJECT_OPERATOR. Я называю это "стрелкой".

Ответ 2

Я называю это " dart"; как в $Foo->bar(): "Foo dart bar"

Поскольку многие языки используют "точку", как в Foo.bar();, мне нужно использовать односложное слово. "Стрела" слишком затянута!;)

Так как PHP использует . "dot" для конкатенации (почему?), я не могу спокойно сказать "точка" - это может смутить.

Обсудив с коллегой некоторое время назад, мы решили "дрочить" как слово, достаточно близкое к "точке", чтобы течь комфортно, но достаточно отчетливо (по крайней мере, когда мы говорим), чтобы не ошибиться в конкатенации "точка".

Ответ 3

При чтении PHP-кода вслух я не произношу оператора "- > ". Для $db->prepare($query); я в основном говорю "Db [short pause] подготовить запрос". Поэтому я думаю, что я говорю это как запятую в обычном предложении.

То же самое относится к Paamayim Nekudotayim ( "::" ).

Ответ 4

Когда я читаю код для себя, я считаю его "притяжательной".

Например:

x->value = y->value

будет читать "значение x равно значению y"

Ответ 5

Чаще всего я использую некоторые вариации метода @Tor Valamo ( "метод B метода A" или "метод A B" ), но иногда я говорю "точка". Например. "Назовите точку B()".

Ответ 6

Оператор свойств.

Когда вы читаете $a->b() или $a->b громко, я просто говорю "называть b на $a obj" или "get b из /in/of $a"

Ответ 7

Возвращаясь к Cobol 'in', где вы сказали бы "Переместить 5 на b в a". Сегодня большинство языков квалифицируют вещи в другом направлении.

Но я все равно прочитал бы $a->b(); как "Вызов b в a".

Ответ 8

$a->b 

Я называю "param b of $a".

$a->b()

Я называю "функцией b из $a".

Ответ 9

Мне лично нравится быть верным в выражении моего кода в устной форме.

например:.

$foo = new Foo();
echo $foo->bar

будет читать как таковой:

echo (/print) свойство bar объекта foo.

Это многословие и много времени, но я нахожу, что есть причина, по которой я буду выражать свой код в устной форме, тогда мне, вероятно, нужно четко указать, что я точно сообщаю.

Ответ 10

Единственная стрелка может быть легко передана в устной форме как то, что она означает для 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, → относится к члену объекта, будь то переменная, другой объект или метод.

Ответ 11

Старший разработчик PHP, где я работаю, говорит "стрелка".

$A->B;

Когда он сказал мне напечатать выше, он скажет: "Доллар A стрелка B" или для

$A->B();

"Доллар A стрелка B parens."

Ответ 12

Я бы сделал это следующим образом:

//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 Лорна Митчелл) она называется оператором объекта.

Ответ 13

-> - это оператор свойств, используемый для PHP в объектно-ориентированном режиме.

Ответ 14

Объект. Таким образом, $a->$b->$c будет "Объектом B объекта c".

Ответ 15

user187291 ответил на не-субъективный вопрос, так как для субъективного, я говорю "sub". Например, я бы произносил $x->y, поскольку "x sub y" - "sub" в этом контексте является коротким для "индекса". Это более подходит для обозначения массива; $x['y'] Я также произношу "x sub y". Обычно, когда я читаю код вслух, я использую свои слова, чтобы определить линию, которую может видеть другой разработчик, поэтому неопределенность еще не стала проблемой. Я считаю, что причина в том, что я рассматриваю structs/objects и массивы как "коллекции", а их элементы индексируются как в математических обозначениях.

Ответ 16

У японца есть удобная частица для этого, "нет" (の). Это притяжательная частица, означающая примерно "относящуюся к предыдущему термину".

"Фред の барсук" означает "Фрид-барсук".

Который долгий путь говорит, что, по крайней мере, мысленно, а также среди тех, кто понимает японский язык, я склонен их отличать, читая их как:

$A->B(); // "Call $A B."
C::D();  // "Call C の D."

Но чтение обоих как притяжательных "работает" тоже для неяпонских ораторов. Вы также можете перевернуть их и использовать "из", поэтому "D of C"... но это неловко, и это трудно сделать, вы быстро читаете, потому что это ломает ваш линейный поток.

Если бы я диктовал, хотя, возможно, когда кодовое кодирование и предлагая ввести тип, я бы назвал конкретные символы как "тире больше, чем стрелка" и "двойная двоеточие" (если я знаю человека, которого я "Говоря с PHPophile, я мог бы назвать это" паамаим некудотаим двойной двоеточием "в первый раз, отчасти потому, что это классная шутка, отчасти для предотвращения" исправления "меня).