객체에 관련된 정보 – 3.메소드 다루기(PHP4)

PHP4에서 메소드를 직렬화/객체화하기

예를 들어 아래와 같이 예제를 작성하여 PHP3와 PHP4 스크립트에 각각 실행하여 보면, test2.php를 실행하였을 때 PHP4에서는 정상적으로 메소드가 실행되지만 PHP3에서는 에러가 발생합니다.

아래는 PHP3에서 실행한 결과입니다. PHP3에서는 serialize()/unserialize()가 객체의 메소드를 지원하지 않기 때문에 test2.php를 실행할 때에 15번 라인에서 에러가 발생합니다.

  • test1.php를 실행하였을 때:

  • test2.php를 실행하였을 때:

아래는 PHP4에서 실행한 결과입니다. PHP4에서는 serialize() -> unserialize() 과정을 거친 객체가 정상적으로 복원되었다는 것을 알 수 있습니다. 앞장에서 설명하였지만 메소드 정의는 별도로 포함시켜야 하는 것을 잊어서는 안됩니다. 메소드 정의를 생략한다면 역시 에러를 만나게 될 것입니다.

  • test1.php를 실행하였을 때:

  • test2.php를 실행하였을 때:

답글 남기기