때때로 프로젝트에서 두 개 이상의 동일한 개체를 사용해야 하는 경우 "new" 키워드를 사용하여 개체를 다시 생성한 다음 동일한 속성을 할당하면 오류가 발생하기 쉽습니다. 따라서 한 객체에서 동일한 객체를 완전히 복제하는 것이 매우 필요하며 복제 후에는 두 객체가 서로 간섭하지 않습니다.
PHP4에서는 객체를 복제하기 위해 "clone" 키워드를 사용합니다.
01 |
|
02 |
class Person
|
03 |
{ |
04 |
//下面是人的成员属性
|
05 |
var $name ; //人的名子
|
06 |
var $sex ; //人的性别
|
07 |
var $age ; //人的年龄
|
08 |
09 |
//定义一个构造方法参数为属性姓名$name、性别$sex和年龄$age进行赋值
|
10 |
function __construct( $name = "" , $sex = "" , $age = "" ) {
|
11 |
$this ->name= $name ;
|
12 |
$this ->sex= $sex ;
|
13 |
$this ->age= $age ;
|
14 |
}
|
15 |
16 |
//这个人可以说话的方法,说出自己的属性
|
17 |
function say() {
|
18 |
echo "我的名子叫:" . $this ->name .
" 性别:" . $this ->sex .
" 我的年龄是:" . $this ->age .
"<br>" ;
|
19 |
}
|
20 |
} |
21 |
22 |
$p1 = new Person( "张三" ,
"男" , 20);
|
23 |
24 |
//使用“clone”克隆新对象p2,和p1对象具有相同的属性和方法。 |
25 |
$p2 =clone $p1 ;
|
26 |
$p2 ->say();
|
27 |
?> |
PHP4는 객체를 복제할 때 사용되는 특수 메소드 이름 "__clone()" 메소드를 정의합니다. 자동으로 호출되는 메소드는 "__clone()" 메소드를 사용하여 원본 객체와 동일한 속성 및 메소드를 가진 객체를 생성합니다. 복제 후 원본 객체의 내용을 변경하려면 원래 속성 및 메소드를 다시 작성해야 합니다. __clone() 메서드에서 "__clone()" 메서드는 매개 변수를 가질 수 없으며 자동으로 $this와 $that이라는 두 개의 포인터를 포함합니다. $this는 copy를 가리키고 $that은 원본
01 |
|
02 |
class Person
|
03 |
{ |
04 |
//下面是人的成员属性
|
05 |
var $name ; //人的名子
|
06 |
var $sex ; //人的性别
|
07 |
var $age ; //人的年龄
|
08 |
09 |
//定义一个构造方法参数为属性姓名$name、性别$sex和年龄$age进行赋值
|
10 |
function __construct( $name = "" , $sex = "" , $age = "" ) {
|
11 |
$this ->name= $name ;
|
12 |
$this ->sex= $sex ;
|
13 |
$this ->age= $age ;
|
14 |
}
|
15 |
16 |
//这个人可以说话的方法, 说出自己的属性
|
17 |
function say() {
|
18 |
echo "我的名子叫:" . $this ->name .
" 性别:" . $this ->sex .
" 我的年龄是:" . $this ->age .
"<br>" ;
|
19 |
}
|
20 |
21 |
//对象克隆时自动调用的方法, 如果想在克隆后改变原对象的内容,需要在__clone()中重写原本的属性和方法
|
22 |
function __clone() {
|
24 |
//$this指的复本p2, 而$that是指向原本p1,这样就在本方法里,改变了复本的属性。
|
25 |
$this ->name =
"我是假的 $that->name" ;
|
26 |
$this ->age = 30;
|
27 |
}
|
28 |
29 |
} |
30 |
31 |
$p1 = new Person( "张三" ,
"男" , 20);
|
32 |
$p2 = clone
$p1 ;
|
33 |
$p1 ->say();
|
34 |
$p2 ->say();
|
35 |
?> |
위 예시의 출력:
내 이름은: Zhang San 성별: 남자 내 나이: 20
내 이름 : 저는 가짜 장산 입니다 성별 : 남 내 나이 : 30
위 내용은 PHP의 복제 객체를 소개하며 PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.

PHP는 주로 절차 적 프로그래밍이지만 객체 지향 프로그래밍 (OOP)도 지원합니다. Python은 OOP, 기능 및 절차 프로그래밍을 포함한 다양한 패러다임을 지원합니다. PHP는 웹 개발에 적합하며 Python은 데이터 분석 및 기계 학습과 같은 다양한 응용 프로그램에 적합합니다.

PHP는 1994 년에 시작되었으며 Rasmuslerdorf에 의해 개발되었습니다. 원래 웹 사이트 방문자를 추적하는 데 사용되었으며 점차 서버 측 스크립팅 언어로 진화했으며 웹 개발에 널리 사용되었습니다. Python은 1980 년대 후반 Guidovan Rossum에 의해 개발되었으며 1991 년에 처음 출시되었습니다. 코드 가독성과 단순성을 강조하며 과학 컴퓨팅, 데이터 분석 및 기타 분야에 적합합니다.

PHP는 웹 개발 및 빠른 프로토 타이핑에 적합하며 Python은 데이터 과학 및 기계 학습에 적합합니다. 1.PHP는 간단한 구문과 함께 동적 웹 개발에 사용되며 빠른 개발에 적합합니다. 2. Python은 간결한 구문을 가지고 있으며 여러 분야에 적합하며 강력한 라이브러리 생태계가 있습니다.

PHP는 현대화 프로세스에서 많은 웹 사이트 및 응용 프로그램을 지원하고 프레임 워크를 통해 개발 요구에 적응하기 때문에 여전히 중요합니다. 1.PHP7은 성능을 향상시키고 새로운 기능을 소개합니다. 2. Laravel, Symfony 및 Codeigniter와 같은 현대 프레임 워크는 개발을 단순화하고 코드 품질을 향상시킵니다. 3. 성능 최적화 및 모범 사례는 응용 프로그램 효율성을 더욱 향상시킵니다.

phphassignificallyimpactedwebdevelopmentandextendsbeyondit

PHP 유형은 코드 품질과 가독성을 향상시키기위한 프롬프트입니다. 1) 스칼라 유형 팁 : PHP7.0이므로 int, float 등과 같은 기능 매개 변수에 기본 데이터 유형을 지정할 수 있습니다. 2) 반환 유형 프롬프트 : 기능 반환 값 유형의 일관성을 확인하십시오. 3) Union 유형 프롬프트 : PHP8.0이므로 기능 매개 변수 또는 반환 값에 여러 유형을 지정할 수 있습니다. 4) Nullable 유형 프롬프트 : NULL 값을 포함하고 널 값을 반환 할 수있는 기능을 포함 할 수 있습니다.

PHP에서는 클론 키워드를 사용하여 객체 사본을 만들고 \ _ \ _ Clone Magic 메소드를 통해 클로닝 동작을 사용자 정의하십시오. 1. 복제 키워드를 사용하여 얕은 사본을 만들어 객체의 속성을 복제하지만 객체의 속성은 아닙니다. 2. \ _ \ _ 클론 방법은 얕은 복사 문제를 피하기 위해 중첩 된 물체를 깊이 복사 할 수 있습니다. 3. 복제의 순환 참조 및 성능 문제를 피하고 클로닝 작업을 최적화하여 효율성을 향상시키기 위해주의를 기울이십시오.

PHP는 웹 개발 및 컨텐츠 관리 시스템에 적합하며 Python은 데이터 과학, 기계 학습 및 자동화 스크립트에 적합합니다. 1.PHP는 빠르고 확장 가능한 웹 사이트 및 응용 프로그램을 구축하는 데 잘 작동하며 WordPress와 같은 CMS에서 일반적으로 사용됩니다. 2. Python은 Numpy 및 Tensorflow와 같은 풍부한 라이브러리를 통해 데이터 과학 및 기계 학습 분야에서 뛰어난 공연을했습니다.


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

PhpStorm 맥 버전
최신(2018.2.1) 전문 PHP 통합 개발 도구

Eclipse용 SAP NetWeaver 서버 어댑터
Eclipse를 SAP NetWeaver 애플리케이션 서버와 통합합니다.

SublimeText3 영어 버전
권장 사항: Win 버전, 코드 프롬프트 지원!

Atom Editor Mac 버전 다운로드
가장 인기 있는 오픈 소스 편집기

Dreamweaver Mac版
시각적 웹 개발 도구
