Что такое "- > " PHP оператор называется и как это сказать при чтении кода вслух? [закрытый]
Как вы называете эту стрелку глядя -> оператор найден в PHP?
это либо знак минус, тире или дефис, за которым следует знак больше, чем (или правый шеврон).
Как вы произносите его при чтении кода вслух?
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".
Мне лично нравится быть многословным в выражении моего кода устно.
например:
$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 Лорна Митчелл) это называется оператор объекта.
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