Hur Kopiera PHP Objects

November 26

PHP ger en metod som du kan använda för att kopiera ett objekt. Metoden __clone, med två understreck. Du kan skriva en egen __clone metod i en klass om du vill ange uttalanden löpa när objektet kopieras. Om du donâ € t skriva en egen, PHP använder standard __clone metod som kopierar alla egenskaper som det är.

Såsom visas av de två understreck som börjar dess namn, är metoden clone en annan typ av metod, och sålunda kallas annorlunda, såsom visas i följande exempel.

Du kan skriva följande klass:

klass Bil
{
privata $ gas = 0;
privata $ color = "red";
funktions addGas ($ belopp)
{
$ This-> gas = $ this-> gas + $ belopp;
echo "$ belopp gallons läggs till gastank";
}
funktion __clone ()
{
$ This-> gas = 5;
}
}

Med hjälp av denna klass, kan du skapa ett objekt och kopiera den, 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 liter gas. De tio gallon tillkom med addGas metoden.
  • $ SecondCar: Denna bil är röd, men innehåller fem liter gas. Ett duplikat bil skapas med hjälp av __clone metoden i Car-klassen. Denna metod ställer gas till 5 och doesnâ € t set $ färg alls.

Om du int € t har en __clone metod i Car-klassen, skulle PHP använder en standard __clone metod som skulle kopiera alla egenskaper, vilket gör $ secondCar både rött och innehåller tio liter gas.