Video: World's Roundest Object! 2025
PHP giver en metode, du kan bruge til at kopiere et objekt. Metoden er __clone, med to understregninger. Du kan skrive din egen __clone metode i en klasse, hvis du vil angive udsagn, der skal køres, når objektet kopieres. Hvis du ikke skriver din egen, bruger PHP sin standard __clone metode, der kopierer alle egenskaber som det er.
Som vist ved de to understreger, der begynder sit navn, er klonemetoden en anden type metode og kaldes således forskelligt som vist i det følgende eksempel.
Du kan skrive følgende klasse:
klasse bil {private $ gas = 0; privat $ color = "rød"; funktion addGas ($ beløb) {$ this-> gas = $ this-> gas + $ beløb; ekko "$ mængde galloner tilføjet til tank";} funktion __clone () {$ this-> gas = 5;}}
Med denne klasse kan du oprette et objekt og kopiere det som følger:
$ firstCar = ny bil; $ FirstCar-> addGas (10); $ secondCar = klon $ firstCar;
Efter disse udsagn har du to biler:
-
$ firstCar : Denne bil er rød og indeholder ti galloner gas. De ti galloner blev tilsat addGas-metoden.
-
$ secondCar : Denne bil er rød, men indeholder 5 liter gas. Den dobbelte bil er oprettet ved hjælp af __clone-metoden i bilklassen. Denne metode indstiller gas til 5 og indstiller slet ikke $ farve.
Hvis du ikke havde en __clone metode i bilen klasse, ville PHP bruge en standard __clone metode, der ville kopiere alle egenskaber, hvilket gør $ secondCar både rød og indeholder ti gallons gas.