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



Как вы называете эту стрелку глядя -> оператор найден в PHP?



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



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

625   16  

16 ответов:

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

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

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

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

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

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

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

читая код для себя, я думаю об этом как о "собственнической вещи".

например:

x->value = y->value

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

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

оператора собственность.

при чтении $a->b() или $a->b громко, что я просто сказать: "позвонить в на долларов в obj" или "получить B Из/В/из долларов в"

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

но я все равно буду читать $a->b(); как "вызов b в a".

$a->b 

Я называю как "парам b $a".

$a->b()

Я назвал "функцией" б "долларов".

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

например:

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

прочитал бы так:

Эхо(/печать) на панели свойств объекта ФОО.

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

одиночная стрелка может быть легко передана устно как то, что она означает для PHP OOP: Member. Итак, для $a->var вы хотели сказать, "объект-член" а "ВАР".

при чтении кода вслух, это действительно помогает читать вперед (lookahead ссылка, извините), и знать, что вы на самом деле можете иметь в виду. Например, давайте иметь следующий бит кода:

<?php
  Class MyClass {
    $foo = 0;

    public function bar() {
      return $this->foo;
    }
  }

  $myobject = new MyClass();
  $myobject->bar();
?>

Итак, если бы я прочитал вслух этот блок кода в качестве демонстрации кода, я бы сказал следующее:

"определите класс 'MyClass', open-brace. Переменная ' foo ' равна нулю, конечная строка. Определить общественные функции 'бар' открыть-закрыть скобки, открытой скобки. Возвращает переменную-член' foo 'объекта ' this', завершает строку. Рядом-стремя, закрыть скобку. Создайте новый экземпляр ' MyClass '(без аргументов) в качестве объекта переменной' myobject', завершите строку. Бар метод вызова на объект MyObject'', завершить линию."

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

"в PHP открывающий тег (полный), строки, абзац, класс MyClass открытой скобки, символы новой строки. Отступ, ['знак доллара | / 'объект-маркер'] foo равно 0, точка с запятой, новая строка, новая строка. публичная панель функций открыть-закрыть скобки, открыть-скобка, новая строка. Отступ, возврат ['знак доллара' / 'объект-маркер'] эта стрелка foo, точка с запятой, новая строка. Обратный отступ, закрывающая скобка, новая строка, обратный отступ, закрывающая скобка, новая строка, новая строка. ['знак доллара' | 'Object-marker'] myobject равно new MyClass open-close скобки, точка с запятой, новая строка. ['dollar-sign' / 'Object-marker'] 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 Лорна Митчелл) это называется оператор объекта.

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

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

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

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

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

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

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

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

Comments

    Ничего не найдено.