라이브러리

[PHP] RandomRandomizer::__unserialize - 데이터 매개변수를 Randomizer 객체로 역직렬화합니다.




PHP Serialize/Unserialize


PHP의 `serialize()` 함수는 PHP 데이터를 문자열로 변환하여 문자열로 저장할 수 있는 형태로 변환합니다. 이 문자열은 PHP 데이터를 저장하거나 전송할 때 사용됩니다. `unserialize()` 함수는 serialize된 문자열을 원래 PHP 데이터로 변환합니다.

Randomizer Class


Randomizer 클래스는 랜덤한 값을 생성하는 클래스입니다. 이 클래스는 `__serialize()` 메서드와 `__unserialize()` 메서드를 구현하여 serialize/ unserialize 과정을 지원합니다.

#hostingforum.kr
php

class Randomizer {

    private $min;

    private $max;



    public function __construct($min, $max) {

        $this->min = $min;

        $this->max = $max;

    }



    public function getRandom() {

        return rand($this->min, $this->max);

    }



    public function __serialize() {

        return serialize(array($this->min, $this->max));

    }



    public function __unserialize($data) {

        list($this->min, $this->max) = unserialize($data);

    }

}



예제


#hostingforum.kr
php

// Randomizer 객체 생성

$randomizer = new Randomizer(1, 100);



// 랜덤한 값을 생성

echo $randomizer->getRandom() . "
";



// serialize

$serialized = $randomizer->__serialize();

echo "serialize: $serialized
";



// unserialize

$unserialized = $randomizer->__unserialize($serialized);

echo "unserialize: " . $unserialized->getRandom() . "
";



설명


* `__serialize()` 메서드는 serialize된 데이터를 문자열로 반환합니다. serialize된 데이터는 `array($this->min, $this->max)` 형태로 저장됩니다.
* `__unserialize()` 메서드는 serialize된 데이터를 원래 PHP 데이터로 변환합니다. serialize된 데이터는 `unserialize($data)` 함수를 사용하여 원래 PHP 데이터로 변환됩니다.
* 예제에서는 `Randomizer` 객체를 생성하고 랜덤한 값을 생성합니다. 그 후 serialize된 데이터를 생성하고 unserialize된 데이터를 생성하여 랜덤한 값을 생성합니다.

참고


* `serialize()` 함수는 PHP 데이터를 문자열로 변환하여 문자열로 저장할 수 있는 형태로 변환합니다.
* `unserialize()` 함수는 serialize된 문자열을 원래 PHP 데이터로 변환합니다.
* `__serialize()` 메서드는 serialize된 데이터를 문자열로 반환합니다.
* `__unserialize()` 메서드는 serialize된 데이터를 원래 PHP 데이터로 변환합니다.
  • profile_image
    나우호스팅 @pcs8404 

    호스팅포럼 화이팅!

    댓글목록

    등록된 댓글이 없습니다.

  • 전체 10,077건 / 300 페이지

검색

게시물 검색