OOP e Referências em PHP Programação Orientada a Objetos em PHP - Parte 7 Introdução Esta é parte de minha série 7, Programação Orientada a Objetos em PHP. Compreendendo referências em qualquer língua é geralmente uma dor de cabeça: Você precisa saber o que significa uma referência em um idioma e, em seguida, saber como usá-lo nesse idioma. Basta saber o que isso significa, normalmente, não o suficiente para saber como usá-lo. Então, nós temos que aprender a usar referências em Programação Orientada a Objetos de PHP. A palavra, objeto, abaixo refere-se a um objeto instanciado.
Nesta parte da série, nós olhamos para referências de objeto. Nota: Se você não pode ver o código ou se você acha que alguma coisa está faltando (link quebrado, imagem ausente), apenas contacte-me em [email protected]. Ou seja, contacte-me para o menor problema que você tem sobre o que você está lendo.
Atribuindo uma variável de objeto para outra variável Quando você atribui uma variável de objeto para uma nova variável, como objeto $ a é atribuído a $ b abaixo, ambas as variáveis ainda se referem à mesma região (objeto) na memória; nenhuma cópia do conteúdo região é feita para outra região. Leia e tente o seguinte código: class A {$ var pública = 1; } $ A = new A; $ b = $ a; b- $> var = 2; echo $ a-> var. "echo $ b-> var.
" ?> Atribuir uma referência de objeto a uma variável Quando você atribui uma referência de objeto a uma nova variável, como & $ c é atribuído a $ d abaixo, os resultados são os mesmo que copiar uma variável de objeto para outro; nenhum conteúdo região de memória é copiada para outra região de memória. Leia e tente o seguinte código: class A {$ var pública = 1; } $ C = new A; $ d = & $ c; $ D-> var = 2; echo $ c-> var. "echo $ d-> var.
" ?> Passando um objeto como argumento Ordinária para uma função Quando você passar um objeto como argumento para uma função, tanto o objeto de parâmetro eo objeto fora da função, se referem à mesma região (objeto) na memória. Leia e tente o seguinte código: class A {$ var pública = 1; } $ E = new A; echo $ e-> var. "Função fn ($ obj) {$ obj-> var = 2;. Echo $ obj-> var"} fn ($ e); echo $ e-> var. ? "> Passando um objeto por referência Quando você passar um objeto por referência a uma função, os resultados são os mesmos que passando o objeto normalmente Leia e tente o seguinte código:.
Class A {$ var pública = 1;} $ e = A nova;. echo $ e-> var "função fn (& $ obj) {$ obj-> var = 2; echo $ obj-> var. "} Fn ($ e);. Echo $ e-> var"?>