소개
바이트 스트림 형태의 모든 객체의 문자열 표현은 serialze()에 의해 얻습니다. PHP에서 함수. 객체의 모든 속성 변수는 문자열에 포함되며 메서드는 저장되지 않습니다. 이 문자열은 모든 파일에 저장할 수 있습니다.
바이트 스트림에서 객체를 검색하기 위해 unserialize() 함수가 있습니다. unserialize()를 호출하기 전에 해당 클래스의 정의를 사용할 수 있어야 합니다. 기능.
예시
먼저 다음 클래스의 객체를 직렬화하고 문자열을 파일에 저장합니다.
<?php
class test1{
private $name;
function __construct($arg){
$this->name=$arg;
}
}
$obj1=new test1("Kiran");
$str=serialize($obj1);
$fd=fopen("obj.txt","w");
fwrite($fd, $str);
fclose($fd);
?> 현재 폴더에 obj.txt가 생성됩니다. 직렬화를 해제하기 위해 다음 코드는 주어진 파일에서 읽은 바이트 스트림에서 객체를 재구성합니다.
예시
<?php
class test1{
private $name;
function __construct($arg){
$this->name=$arg;
}
function getname(){
return $this->name;
}
}
$filename="obj.txt";
$fd=fopen("obj.txt","r");
$str=fread($fd, filesize($filename));
$obj=unserialize($str);
echo "name: ' . $obj->getname();
?> 출력
위의 코드는 이제 출력 다음에 이름을 반환합니다.
name: Kiran