Video: PHP for Web Development 2024
PHP ger en metod som du kan använda för att kopiera ett objekt. Metoden är __clone, med två understreck. Du kan skriva en egen __clone-metod i en klass om du vill ange uttalanden som ska köras när objektet kopieras. Om du inte skriver din egen, använder PHP sin standard __clone metod som kopierar alla egenskaper som det är.
Som framgår av de två underskrifterna som börjar med namnet är klonmetoden en annan typ av metod och kallas sålunda olika, som visas i följande exempel.
Du kan skriva följande klass:
klassbil {privat $ gas = 0; privat $ color = "red"; funktion addGas ($ summa) {$ this-> gas = $ this-> gas + $ amount; echo "$ summor gallon tillgasktank";} funktion __clone () {$ this-> gas = 5;}}
Med den här klassen kan du skapa ett objekt och kopiera det enligt följande:
$ firstCar = ny bil; $ FirstCar-> addGas (10); $ secondCar = klon $ firstCar;
Efter dessa uttalanden har du två bilar:
-
$ firstCar : Denna bil är röd och innehåller tio gallons gas. De tio gallonerna tillsattes med addGas-metoden.
-
$ secondCar : Denna bil är röd, men innehåller fem gallon gas. Dubbelbilen skapas med hjälp av __clone-metoden i bilklassen. Denna metod sätter gas till 5 och ställer inte in $ färg alls.
Om du inte hade en __clone-metod i bilklassen, skulle PHP använda en standard __clone-metod som skulle kopiera alla egenskaper, vilket gör $ secondCar både rött och innehåller tio gallons gas.