Video: World's Roundest Object! 2024
PHP gir en metode du kan bruke til å kopiere et objekt. Metoden er __clone, med to understreker. Du kan skrive din egen __clone-metode i en klasse hvis du vil spesifisere uttalelser som skal kjøres når objektet er kopiert. Hvis du ikke skriver din egen, bruker PHP sin standard __clone-metode som kopierer alle egenskapene som det er.
Som vist ved de to underskrifter som begynner på navnet, er klonemetoden en annen type metode, og kalles således annerledes, som vist i følgende eksempel.
Du kan skrive følgende klasse:
klasse bil {privat $ gass = 0; privat $ color = "rød"; funksjon addGas ($ amount) {$ this-> gass = $ this-> gass + $ amount; ekko "$ sum gallons lagt til bensintank";} funksjon __clone () {$ this-> gas = 5;}}
Med denne klassen kan du opprette et objekt og kopiere det som følger:
$ firstCar = ny bil; $ FirstCar-> addGas (10); $ secondCar = klon $ firstCar;
Etter disse uttalelsene har du to biler:
-
$ firstCar : Denne bilen er rød og inneholder ti liter gass. De ti gallonene ble lagt til med addGas-metoden.
-
$ secondCar : Denne bilen er rød, men inneholder fem liter gass. Den dupliserte bilen er opprettet ved hjelp av __clone-metoden i bilklassen. Denne metoden setter gass til 5 og angir ikke $ farger i det hele tatt.
Hvis du ikke hadde en __clone-metode i bilklassen, ville PHP bruke en standard __clone-metode som ville kopiere alle egenskapene, og gjøre $ secondCar både rød og inneholde ti gallon gass.