소개
바이트 스트림 형태의 모든 객체의 문자열 표현은 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