procesamiento - que significa-> en php




¿A qué se llama el operador PHP "->" y cómo lo dice al leer el código en voz alta? (11)

Al leer el código PHP en voz alta, no pronuncio el operador "->". Para $db->prepare($query); Casi siempre digo "Db [pausa corta] prepara la consulta". Así que supongo que lo hablo como una coma en una oración regular.

Lo mismo vale para el Paamayim Nekudotayim ("::").

¿Cómo se llama a esta flecha buscando -> operador encontrado en PHP?

Es un signo menos, guión o guión seguido de un signo mayor que (o cheurón derecho).

¿Cómo se pronuncia al leer el código en voz alta?


Al leer el código para mí, lo veo como una "cosa posesiva".

Por ejemplo:

x->value = y->value

leería "el valor de x es igual al valor de y"


El japonés tiene una partícula conveniente para esto, "no" (の). Es la partícula posesiva, que significa aproximadamente "relacionada con el término anterior".

"Fred の tejón" significa "el tejón de Fred".

Lo cual es un largo camino para decir que al menos mentalmente, y también entre aquellos que entienden japonés, tiendo a diferenciarlos leyéndolos como:

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

Pero leer ambos como un "posesivo" posesivo también funciona para hablantes no japoneses. También puedes voltearlos y usar "de", así que "D de C" ... pero eso es un poco incómodo, y es difícil de hacer, estás leyendo rápidamente porque rompe tu flujo lineal.

Sin embargo, si estuviera dictando, quizás cuando el par codifique y sugiera qué escribir, me referiría a los caracteres específicos como "dash-greater-than arrow" y "double-colon" (si conozco a la persona que estoy hablando) to es un PHPophile, podría llamarlo "paamayim nekudotayim double-colon" la primera vez, en parte porque es una buena broma, en parte para evitar que me "corrijan").


El nombre oficial es "operador de objeto" - T_OBJECT_OPERATOR . Yo lo llamo "flecha".


La flecha simple se puede referir verbalmente como lo que significa para PHP OOP: Member. Por lo tanto, para $a->var diría "Var de miembro de Object a".

Al leer el código en voz alta, ayuda leer con anticipación (mirar hacia adelante, lo siento), y saber a qué se refiere en realidad. Por ejemplo, tengamos el siguiente bit de código:

<?php
  Class MyClass {
    $foo = 0;

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

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

Entonces, si tuviera que leer en voz alta este bloque de código como una demostración de código, diría esto:

"Definir clase 'MyClass', llave abierta. Variable 'foo' es igual a cero, terminar línea. Definir función pública 'barra' abrir-cerrar paréntesis, abrir abrazadera. Devolver variable miembro 'foo' del objeto 'esto', terminar línea . Cerrar-llave, llave cerrada. Crear una instancia nueva de 'MyClass' (sin argumentos) como objeto variable 'myobject', terminar línea. Llamar al método miembro 'barra' del objeto 'myobject', terminar línea.

Sin embargo, si estuviera leyendo el código en voz alta para que otros estudiantes o programadores lo copien sin una presentación visual, entonces diría:

"PHP open tag (full), newline, indent, Clase MyClass open-brace, newline. Sangría, ['dollar-sign' | 'Object-marker'] foo es igual a 0, punto y coma, newline, newline. Public function bar open- cerrar paréntesis, abrir llaves, nueva línea Sangría, regresar ['dólar-signo' | 'Objeto-marcador'] esta flecha foo, punto y coma, nueva línea. Invertir sangría, cerrar llaves, nueva línea, sangría inversa, cierre de llaves , newline, newline. ['dollar-sign' | 'Object-marker'] myobject igual a new MyClass abrir-cerrar paréntesis, punto y coma, nueva línea. ['dollar-sign' | 'Object-marker'] myobject flecha barra abrir-cerrar paréntesis, punto y coma, nueva línea. Invertir sangría, PHP cerrar etiqueta.

Donde ves ['dollar-sign' | 'Object-marker'], simplemente elija lo que suela hablar por '$', cambio entre los dos con frecuencia, solo depende de mi audiencia.

Entonces, para resumir, en PHP, -> se refiere a un miembro de un objeto, ya sea una variable, otro objeto o un método.


Lo haría así:

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

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

En mi libro ( PHP Master por Lorna Mitchell) se llama el operador de objetos .


Objeto. Entonces $a->$b->$c sería 'Un objeto B objeto c'.


Operador de propiedad

Al leer $a->b() o $a->b voz alta, solo digo "call b on the $ a obj" o "get b from / in / of $ a"


Yo lo llamo " dardo "; como en $Foo->bar() : "Foo dart bar"

Dado que muchos idiomas usan "punto" como en Foo.bar(); Yo quería una palabra de una sílaba para usar. ¡"Arrow" es demasiado largo! ;)

Desde PHP usa . "punto" para concatenación (¿por qué?) No puedo decir con seguridad "punto", podría confundir.

Hablando con un compañero de trabajo hace un tiempo, decidimos "dardo" como una palabra lo suficientemente parecida a "punto" para fluir cómodamente, pero lo suficientemente distinta (al menos cuando lo decimos) para no ser confundida con un "punto" concatenado .


-> es el operador de propiedad utilizado para PHP en el modo orientado a objeción.


$a->b 

Llamo como "param b de $ a".

$a->b()

Llamo como "función b de $ a".





operators