소위 직렬화는 변수의 데이터를 문자열로 변환하는 것입니다(그러나 유형 변환과는 다릅니다). 목적은 이 문자열을 텍스트 파일로 저장하여 다른 환경에서 실행할 때 역직렬화하고 복원할 수 있도록 하는 것입니다. (일반적으로 데이터를 저장해야 하는 곳에 사용됨)
Serialization:
$str=serialize ($variable) //데이터를 문자열로 변환하여 $str 변수에 저장합니다.
file_put_conetents("텍스트 파일 경로",$str);//텍스트 파일에 파일을 저장합니다.
역직렬화:
$str=file_get_contents("Text file path");//파일에 저장된 직렬화된 정보를 가져옵니다.
$value=unserialize($str); //검색된 문자열 내용을 일반 데이터로 변환하여 $value에 저장합니다.
직렬화 및 역직렬화 중 마법 메서드:
__sleep(): 특정 클래스의 객체를 직렬화할 때 클래스의 __sleep() 메서드가 자동으로 호출됩니다.
사용 이 메서드는 필요한 데이터를 선택할 수 있습니다. 직렬화하려면 필요한 속성을 선택하고 배열에 저장하십시오. 배열은 끝 후에 반환되며 배열의 값은 직렬화되어야 합니다.
__wakeup(): __sleep()과 정반대로, 역직렬화 중에 호출되면 몇 가지 유용한 작업을 수행하여 상태를 직렬화 전 상태로 되돌릴 수 있습니다(예: 데이터베이스 연결). 직렬화는 필요한 속성만 문자열로 변경하여 저장하고, 역직렬화는 문자열을 다시 데이터로 변경하기만 하는데, 일부 상태는 이전 상태로 돌아가지 않기 때문에 이때 __wakeup()을 사용하여 정확하게 다시 동작할 수 있습니다. 이전과 같은 상태.
관련 권장 사항 : PHP 직렬화 및 사막화 원리에 대한 설명 PHP 직렬화 배열 기법 _php 튜토리얼 튜토리얼 PHP 직렬화 및 사막화 방법에 대한 설명, PHP 직렬화 사막화 방법의 자세한 설명 _php 튜토리얼.
위 내용은 PHP 직렬화 및 역직렬화에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!