web-dev-qa-db-fra.com

Quel est le "->" PHP opérateur appelé et comment dites-vous lorsque vous lisez le code à haute voix?

Comment appelez-vous cette flèche à la recherche d'opérateur -> trouvée dans PHP? 

C'est soit un signe moins, un tiret ou un trait d'union suivi d'un signe supérieur à (ou chevron droit). 

Comment le prononcez-vous lorsque vous lisez le code à haute voix?

115
Jake

Le nom officiel est "opérateur d'objet" - T_OBJECT_OPERATOR . Je l'appelle "flèche".

131
user187291

Je l'appelle " Dart "; comme dans $Foo->bar(): "Foo Dart bar"

Comme de nombreuses langues utilisent "point" comme dans Foo.bar();, je voulais utiliser un mot d'une syllabe. "Arrow" est tout simplement trop long! ;)

Puisque PHP utilise . "point" pour la concaténation (pourquoi?), Je ne peux pas dire en toute sécurité "point" - cela pourrait prêter à confusion.

En discutant avec un collègue il y a quelque temps, nous avons choisi «Dart» en tant que mot assez similaire pour que «point» coule à l'aise, mais suffisamment distinct (au moins lorsque nous le disons) pour ne pas être confondu avec un «point» concaténé. .

51
Umbrella

Lorsque je lis le code PHP à voix haute, je ne prononce pas l'opérateur "->". Pour $db->prepare($query); je dis surtout "Db [courte pause] prépare la requête". Donc, je suppose que je le parle comme une virgule dans une phrase normale.

Il en va de même pour le Paamayim Nekudotayim ("::").

38
selfawaresoup

Lorsque je lis le code pour moi-même, je le considère comme une "chose possessive".

Par exemple:

x->value = y->value

se lirait "la valeur de x est égale à la valeur de y"

14
Dan Mantyla

Le plus souvent, j'utilise une variante de la méthode de @Tor Valamo ("la méthode B de A" ou "la méthode B de A"), mais je dis parfois "point". Par exemple. "appeler un point B ()".

9
sprugman

Opérateur de propriété.

Lorsque je lis $a->b() ou $a->b fort, je dis simplement "appelle b sur le $ a obj" ou "récupère b de/dans/de $ a"

4
Tor Valamo

Retour au Cobol 'in' où vous diriez "Déplacez 5 à b en a." Aujourd'hui, la plupart des langues qualifient les choses de l'autre côté.

Pourtant, je lirais toujours $a->b(); comme "Call b in a".

4
Don
$a->b 

J'appelle "param b de $ a". 

$a->b()

J'appelle comme "fonction b de $ a".

4
ganu

Personnellement, j'aime parler verbalement en exprimant mon code verbalement.

par exemple.:

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

se lirait comme tel:

echo (/ print) la propriété bar de l'objet foo.

C'est bavard et prend plus de temps, mais je trouve que s'il y a une raison pour que j'exprime mon code verbalement, alors j'ai probablement besoin de clarifier ce que je communique exactement.

3
Craige

La flèche simple peut facilement être référencée verbalement comme ce qu'elle signifie pour PHP POO: Membre. Donc, pour $a->var, vous diriez "Object a's member var".

Lorsque vous lisez le code à voix haute, il est utile de lire à l’avance (référence anticipée, désolé), et de savoir à quoi vous faites réellement référence. Par exemple, prenons le bit de code suivant:

<?php
  Class MyClass {
    $foo = 0;

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

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

Donc, si je lisais ce bloc de code à voix haute comme une démonstration de code, je dirais ceci:

"Définir la classe 'MyClass', open-accolade. La variable 'foo' est égale à zéro, ligne de fin. Définir la fonction publique 'bar' parenthèses fermantes, open-accolade. Retourne la variable membre 'foo' de l'objet 'this', ligne de fin . Accolade, accolade. Instanciez la nouvelle instance de 'MyClass' (sans argument) en tant qu'objet variable 'myobject', ligne de terminaison. Appelez la méthode de membre 'bar' de l'objet 'myobject', ligne de terminaison. "

Cependant, si je lisais le code à voix haute pour que les autres étudiants ou les programmeurs puissent le copier sans visuel, je dirais alors:

"Balise ouverte PHP (complète), nouvelle ligne, indent, classe MyClass, accolade, nouvelle ligne. Indent, ['dollar-sign' | 'Object-marker'] foo est égal à 0, point-virgule, nouvelle ligne, nouvelle ligne. Public function bar open- parenthèses fermées, accolade, nouvelle ligne. Indenter, renvoyer ['signe-dollar' | 'Objet-marqueur'] cette flèche foo, point-virgule, nouvelle ligne. Indentation inversée, accolade rapprochée, nouvelle ligne, indentation inversée, accolade rapprochée , newline, newline. ['dollar-sign' | 'Object-marker'] myobject est égal à new MyClass parenthèses open-close, point-virgule, newline. ['dollar-sign' | 'Object-marker'] barre de flèche myobject open-close parenthèses, point-virgule, nouvelle ligne. Indentation inverse, balise de fermeture PHP. "

Où vous voyez ['dollar-sign' | "Marqueur d'objet"], choisissez celui que vous avez tendance à parler pour "$", je bascule fréquemment entre les deux, cela dépend de mon public.

Donc, pour résumer, en PHP, -> fait référence à un membre d'un objet, que ce soit une variable, un autre objet ou une méthode.

3
user253780

Le développeur senior PHP sur lequel je travaille dit "flèche".

$A->B;

Quand il me dit de taper ce qui précède, il dira "Dollar A flèche B" ou pour

$A->B();

"Dollar A flèche B parens."

1
Marcus Adams

Je le ferais comme ça:

//Instantiated object variable with the name mono call property name
$mono->name;

//Instantiated object variable with the name mono call method ship
$mono->ship();

Dans mon livre (PHP Master de Lorna Mitchell), il est appelé l'opérateur object.

1
Julian

Objet. Donc, $a->$b->$c serait 'un objet B un objet c'.

0
Mbrevda

Le japonais a une particule commode pour cela, "non" (). C'est la particule possessive, qui signifie grossièrement "se rapportant au terme précédent".

"Fred の blaireau" signifie "le blaireau de Fred".

Ce qui est loin de dire qu'au moins mentalement, et aussi parmi ceux qui comprennent le japonais, j'ai tendance à les différencier en les lisant comme suit:

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

Mais lire les deux comme un "s" possessif fonctionne aussi, pour des locuteurs non-japonais. Vous pouvez également les retourner et utiliser "of", donc "D of C" ... mais c'est un peu gênant et difficile à lire si vous lisez rapidement car cela interrompt votre flux linéaire.

Si je dictais, cependant, peut-être que lorsque je coderai par paire et suggérer quoi taper, je ferais référence aux caractères spécifiques comme "dash-plus grand que flèche" et "double-colon" to est un phpophile, je pourrais appeler cela un "double-colon deux fois", en partie parce que c'est une plaisanterie cool, en partie pour les empêcher de me "corriger").

0
Dewi Morgan

user187291 a répondu à la question non subjective, comme pour la question subjective, je dis "sub". Par exemple, je prononcerais $x->y comme "x sub y" - "sub" dans ce contexte est l'abréviation de "indice". Ceci est plus approprié pour la notation de tableau; $x['y'] Je prononce aussi "x sub y". En général, lorsque je lis le code à haute voix, j'utilise mes mots pour identifier une ligne que l'autre développeur peut voir, de sorte que l'ambiguïté n'a pas encore posé problème. Je crois que la cause en est que je considère les structures/objets et les tableaux comme des "collections", et que leurs éléments sont en indice comme en notation mathématique.

0
Iiridayn

-> est l'opérateur de propriété utilisé pour PHP en mode orienté objet.

0
Jordan Hudgens