>  기사  >  백엔드 개발  >  PHP는 왜 직렬화해야 합니까?

PHP는 왜 직렬화해야 합니까?

(*-*)浩
(*-*)浩원래의
2019-09-26 11:11:402810검색

Serialization은 객체를 전송하기 쉬운 형식으로 변환하는 과정입니다. 일반적으로 스트림 파일로 변환되어 메모리나 IO 파일에 저장됩니다.

PHP는 왜 직렬화해야 합니까?

예를 들어, 객체를 직렬화한 다음 객체를 통해 보낼 수 있습니다. HTTP를 사용하는 인터넷 개체는 클라이언트와 서버 간에 전송되거나 다른 응용 프로그램과 공유됩니다. 반대로 역직렬화는 스트림에 따라 객체를 재구성합니다.

PHP 직렬화: (권장 학습: 입력에서 마스터까지의 PHP 프로그래밍)

string serialize ( mixed $value )

Serialization 입니다. 변수나 객체를 문자열로 변환하는 과정.

직렬화 중에 시스템은 먼저 __sleep() 매직 메서드를 호출한 다음 가져올 옷을 고르러 나가는 것처럼 내부의 데이터를 필터링합니다. 기본값은 an의 모든 속성입니다. object. 다음과 같이 serialize() 함수를 호출합니다.

<?php
class Animal{
public $name;
public $age;
public $height;
function __construct($name,$age,$heigh){
$this->name=$name;
$this->age=$age;
$this->height=$heigh;
 
}
function __sleep(){
$this->name="小白猫";
return [&#39;name&#39;,&#39;age&#39;,];
 
}
function __wakeup(){
 
}
}
$cat=new Animal("小花猫",5,20);
var_dump(serialize($cat));
 
?>

위의 예에서 최종 출력 직렬화된 콘텐츠는 다음과 같습니다.

PHP는 왜 직렬화해야 합니까?# 🎜🎜#

직렬화 과정과 콜백 함수의 관계: 콜백 함수의 개념은 함수의 매개변수가 다른 함수의 반환 값이며, 직렬화 중에 , serialize() 함수의 매개변수 __sleep() 함수의 반환 값이므로 직렬화 과정은 콜백 함수의 실행 과정입니다.

위 내용은 PHP는 왜 직렬화해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.