비디오: 웹에플리케이션 만들기 - PHP 실습 4 2024
PHP는 객체를 복사하는 데 사용할 수있는 방법을 제공합니다. 메서드는 두 개의 밑줄이있는 __clone입니다. 객체를 복사 할 때 실행할 명령문을 지정하려는 경우 클래스에 고유 한 __clone 메소드를 작성할 수 있습니다. 직접 작성하지 않으면 PHP는 모든 속성을 그대로 복사하는 기본 __clone 메서드를 사용합니다.
이름을 시작하는 두 개의 밑줄로 표시된 것처럼 복제 메서드는 다른 유형의 메서드이므로 다음 예제와 같이 다르게 호출됩니다.
다음 클래스를 작성할 수 있습니다.
class Car {private $ gas = 0; private $ color = "red"; function addGas ($ amount) {$ this-> gas = $ this-> gas + $ amount; 에코 "가스 탱크에 추가 된 $ 갤런";} function __clone () {$ this-> gas = 5;}}
이 클래스를 사용하여 다음과 같이 객체를 생성하고 복사 할 수 있습니다:
$ firstCar = 새로운 자동차; $ firstCar-> addGas (10); $ secondCar = 복제본 $ firstCar;
이러한 진술을 한 후에는
이 자동차는 적색이며 10 갤런의 가스가 포함되어 있습니다. 10 갤런은 addGas 메서드로 추가되었습니다. $ secondCar :
이 자동차는 적색이지만 5 갤런의 가스를 포함합니다. 중복 된 자동차는 Car 클래스의 __clone 메서드를 사용하여 만들어집니다. 이 방법은 가스를 5로 설정하고 $ color를 전혀 설정하지 않습니다. Car 클래스에 __clone 메서드가 없으면 PHP는 모든 속성을 복사하는 기본 __clone 메서드를 사용하여 $ secondCar를 빨간색으로 만들고 10 갤런의 가스를 포함합니다.