Neste tutorial, clonaremos um objeto PHP para criar uma cópia do objeto.
Usando o operador de atribuição para copiar um objeto
O valor da variável de objeto pode ser copiado para outra variável no PHP usando clonagem de objeto. No PHP, uma cópia rasa do objeto pode ser criada usando a palavra -chave clone, e uma cópia profunda do objeto pode ser criada usando o método __clone(). No exemplo a seguir, usamos o clone de palavra -chave e o método __clone() Quando uma variável de objeto é atribuída a outra variável.
Use o código abaixo para criar um arquivo php chamado sem reclamar.php, e armazenar o arquivo no local do servidor da web. Aqui, um curso de classe nomeado é declarado; O curso contém uma variável, $ curso_id, e uma função, Detalhes(). A função imprimirá os detalhes do curso com base no ID do curso. Em seguida, um objeto nomeado $ objcourse é declarado para acessar os membros da classe.
Uma vez que o valor de $ curso_id é atribuído usando este objeto e a variável de objeto é atribuída a $ objcrs, Ambas as variáveis usarão o mesmo local na memória para a referência. Portanto, se o valor de um objeto for alterado, o outro objeto será modificado automaticamente se forem copiados.
// Defina uma classeVocê obterá a seguinte saída depois de executar o script do servidor da web. Aqui, se o valor de $ objcrs for alterado, o valor de $ objcourse é alterado para o mesmo valor.
Usando a palavra -chave clone para copiar um objeto
O clone A palavra -chave pode ser usada para resolver o problema acima. Use o seguinte código para criar um arquivo nomeado clone.php. A mesma classe é usada aqui. O objeto da classe é clonado para outro objeto usando o clone palavra -chave para criar uma cópia do objeto. Se o valor de uma variável mudar, não mudará o valor da outra variável.
// Defina uma classeVocê obterá a seguinte saída depois de executar o script do servidor da web. Aqui, quando o valor de $ objcrs for alterado, o valor de $ objcourse permanecerá inalterado.
Usando o método __clone () para copiar um objeto
O __clone() O método também pode ser usado para resolver o problema acima. Usando o código bwlow, crie um arquivo chamado Withclonemethod.php. A mesma classe é usada aqui. O __clone() O método é usado no script com a palavra -chave clone. Este método é chamado automaticamente quando um objeto é clonado para outro objeto. De acordo com o script, um novo valor é atribuído ao objeto clonado dentro do __clone() método.
// Defina uma classeVocê obterá a seguinte saída depois de executar o script do servidor da web. Aqui, quando $ objcrs é clonado, seu valor é alterado pelo __clone() método, mas o valor de $ objcourse continua sem alteração. O valor de $ objcourse é impresso antes e depois da clonagem. O valor de $ objcrs está impresso mais tarde.
Conclusão
A clonagem é um recurso útil do PHP que pode ser usado para criar uma cópia de um objeto. Ambos clone palavra -chave e o __clone() O método é mostrado neste tutorial por meio de exemplos simples. Esperamos que este tutorial tenha ajudado você a entender a clonagem de objetos.