Cómo copiar objetos php

PHP proporciona un método que puede utilizar para copiar un objeto. El método es __clone, con dos guiones bajos. Usted puede escribir su propio __clone método en una clase si desea especificar sentencias que se ejecutarán cuando se copia el objeto. Si usted no escribe su propio, PHP utiliza su valor predeterminado __clone método que copia todas las propiedades como es.

Como se muestra por los dos guiones que comienzan su nombre, el método clon es un tipo diferente de método, y por lo tanto se llama de manera diferente, como se muestra en el siguiente ejemplo.

Se puede escribir la siguiente clase:

clase Car {$ privada de gas = $ color 0-privada = "red" addGas -Función ($ cantidad) {$ this-> gas = $ this-> gas + $ cantidad echo "$ cantidad de galones añadido al tanque de gasolina" - } function __clone () {$ this-> gas = 5}}

El uso de esta clase, se puede crear un objeto y copiarlo, de la siguiente manera:

$ firstCar = new Car- $ firstCar-> addGas (10) - $ secondCar = clone $ firstCar-

Después de estas declaraciones, usted tiene dos coches:

  • $ firstCar: Este coche es de color rojo y contiene diez galones de gasolina. Los diez galones se añadieron con el addGas método.

  • $ secondCar: Este coche es de color rojo, pero contiene cinco galones de gasolina. El coche duplicado se ha creado usando el __clone método en el Auto clase. Este método establece el gas 5 y no establece $ color en absoluto.

Si no tiene un __clone método en el Auto clase, PHP usará por defecto __clone método que copiar todas las propiedades, por lo que $ secondCar rojo y contiene diez galones de gasolina.




» » » » Cómo copiar objetos php