Como você chama esse ->
operador de seta encontrado em PHP?
É um sinal de menos, traço ou hífen, seguido de um sinal maior que (ou divisa direita).
Como você o pronuncia ao ler o código em voz alta?
Como você chama esse ->
operador de seta encontrado em PHP?
É um sinal de menos, traço ou hífen, seguido de um sinal maior que (ou divisa direita).
Como você o pronuncia ao ler o código em voz alta?
Respostas:
O nome oficial é "operador de objeto" - T_OBJECT_OPERATOR . Eu chamo de "flecha".
T_DOUBLE_COLON
. Vou +1 para você quando eu chegar mais alguns votos :)
$a->do()
é o "método A de" e $a->thing
"A propriedade da coisa", portanto é relativo.
T_PAAMAYIM_NEKUDOTAYIM
exatamente significa "dois pontos duplos" em hebraico.
Eu chamo de " dardo "; como em $Foo->bar()
: "Foo dart bar"
Como muitos idiomas usam "ponto", como Foo.bar();
eu queria, use uma palavra de uma sílaba. "Arrow" é muito longo! ;)
Como o PHP usa .
"ponto" para concatenação (por quê?), Não posso dizer com segurança "ponto" - isso pode confundir.
Discutindo com um colega de trabalho há um tempo, decidimos "dardo" como uma palavra semelhante o suficiente para "pontilhar" para fluir confortavelmente, mas distinta o suficiente (pelo menos quando dizemos) para não ser confundida com um "ponto" concatenador .
Ao ler o código PHP em voz alta, não pronuncio o operador "->". Pois $db->prepare($query);
geralmente digo "Db [pausa curta] prepare a consulta". Acho que falo como uma vírgula em uma frase regular.
O mesmo vale para os Paamayim Nekudotayim ("::").
Ao ler o código para mim, penso nele como uma "coisa possessiva".
Por exemplo:
x->value = y->value
leria "o valor de x é igual ao valor de y"
Na maioria das vezes, uso alguma variação no método de Tor Valamo ("o método B de A" ou "método B de A"), mas às vezes digo "ponto". Por exemplo, "chame A ponto B ()".
->
C / C ++, onde ele tem uma funcionalidade diferente do operador de ponto real?
Operador de propriedade.
Ao ler $a->b()
ou em $a->b
voz alta, basta dizer "chame b no $ a obj" ou "obtenha b de / no / de $ a"
Eu pessoalmente gosto de ser detalhado ao expressar meu código verbalmente.
por exemplo:
$foo = new Foo();
echo $foo->bar
leria assim:
echo (/ print) a propriedade bar do objeto foo.
É detalhado e consome mais tempo, mas acho que, se há uma razão para expressar meu código verbalmente, provavelmente preciso esclarecer exatamente o que estou comunicando.
A seta única pode ser facilmente referida verbalmente como o que significa para o PHP OOP: Member. Então, para $a->var
você dizer "Obj a var de membro a".
Ao ler o código em voz alta, ajuda ler adiante (referência à vista, desculpe) e saber a que você pode realmente estar se referindo. Por exemplo, vamos ter o seguinte pedaço de código:
<?php
Class MyClass {
$foo = 0;
public function bar() {
return $this->foo;
}
}
$myobject = new MyClass();
$myobject->bar();
?>
Portanto, se eu lesse em voz alta esse bloco de código como uma demonstração de código, eu diria o seguinte:
"Definir classe 'MyClass', chave aberta. A variável 'foo' é igual a zero, encerra a linha. Defina a função pública 'bar' entre parênteses abrir-fechar, chave-aberta. Retorne a variável de membro 'foo' do objeto 'this', finalize a linha Instale uma nova instância de 'MyClass' (sem argumentos) como objeto variável 'myobject', termine a linha. Chame o método do membro 'bar' do objeto 'myobject', termine a linha. "
No entanto, se eu estivesse lendo o código em voz alta para outros estudantes ou programadores copiarem sem visual, eu diria:
"Tag aberta PHP (completa), nova linha, recuo, chave aberta da classe MyClass, nova linha. Recuo, ['sinal de dólar' | 'Marcador de objeto'] foo é igual a 0, ponto-e-vírgula, nova linha, nova linha. Barra de função pública aberta parênteses próximos, parênteses abertos, nova linha. Recuar, retornar ['sinal de dólar' | 'Marcador de objeto'] essa seta foo, ponto e vírgula, nova linha. Recuo reverso, chave curta, nova linha, recuo reverso, chave curta , newline, newline. ['sinal de dólar' | 'Marcador de objeto'] myobject é igual a novos parênteses de abertura e fechamento do MyClass, ponto e vírgula, nova linha. ['sinal de dólar' | 'Marcador de objeto'] barra de seta do myobject abrir-fechar parênteses, ponto e vírgula, nova linha. Recuo reverso, tag estreita do PHP. "
Onde você vê ['cifrão' | 'Object-marker'], basta escolher o que você costuma falar por '$', eu alterno entre os dois com frequência, depende apenas da minha audiência.
Portanto, para resumir, no PHP, -> refere-se a um membro de um objeto, seja uma variável, outro objeto ou um método.
O desenvolvedor PHP sênior onde trabalho diz "flecha".
$A->B;
Quando ele está me dizendo para digitar o texto acima, ele diz: "Dólar A, seta B" ou por
$A->B();
"Dólar A seta B parens."
Eu faria assim:
//Instantiated object variable with the name mono call property name
$mono->name;
//Instantiated object variable with the name mono call method ship
$mono->ship();
No meu livro ( PHP Master, de Lorna Mitchell), é chamado de operador de objeto .
O japonês tem uma partícula conveniente para isso, "não" (の). É a partícula possessiva, que significa aproximadamente "relacionada ao termo anterior".
"Fred の texugo" significa "texugo de Fred".
O que é um longo caminho para dizer que, pelo menos mentalmente, e também entre aqueles que entendem japonês, eu tendem a diferenciá-los lendo-os como:
$A->B(); // "Call $A's B."
C::D(); // "Call C の D."
Mas ler ambos como um "s" possessivo também funciona, para falantes não japoneses. Você também pode girá-los e usar "of", então "D of C" ... mas isso é meio estranho e difícil de fazer, você está lendo rapidamente, porque isso interrompe seu fluxo linear.
Se eu estivesse ditando, talvez, ao codificar em pares e sugerir o que digitar, me referiria aos caracteres específicos como "traço maior que a flecha" e "dois-pontos" (se eu conhecer a pessoa com quem estou falando to é um PHPophile, eu poderia chamar isso de "paamayim nekudotayim dois-pontos-duplos" pela primeira vez, em parte porque é uma piada interessante, em parte para impedir que eles "me corrijam").
->
é o operador de propriedade usado para PHP no modo orientado a objetos.
user187291 respondeu à pergunta não subjetiva, quanto à subjetiva, digo "sub". Por exemplo, eu pronunciaria $x->y
como "x sub y" - "sub", neste contexto, é a abreviação de "subscrito". Isso é mais apropriado para notação de matriz; $x['y']
Eu também pronunciei "x sub y". Normalmente, ao ler o código em voz alta, estou usando minhas palavras para identificar uma linha que o outro desenvolvedor possa ver, de modo que a ambiguidade ainda não se tornou um problema. Acredito que a causa é que vejo estruturas / objetos e matrizes como "coleções" e seus elementos são subscritos como em notação matemática.