PHP의 객체가 세션에 저장되면 $_SESSION
, 언제 __destruct
메서드가 호출됩니까? 이 설명서에서 명확한 답을 찾을 수 없었습니다. 그것은 __destruct
이 스크립트 실행의 마지막에 자동으로 호출 될 것이라고 말합니다. 따라서 내 기대에 따라 $_SESSION
에 관계없이 호출 될 것입니다.
그렇다면이 세션에서 개체에 대한 모든 요청에 대해 __destruct
이 호출 될 가능성이 있습니까?
: 개체가 __destruct
이전이나 이후에 serialize 되나요? __destruct
의 수정 사항이 다음 요청에 반영됩니까?
알고 계시다면, __destruct가 호출되기 전이나 후에 직렬화 된 객체입니까? – Chris
개체가 직렬화되지 않고 자동으로 세션에 저장됩니다. '$ _SESSION [ 'index'] = serialize ($ obj);'아마도'__destruct' 메서드가 호출되기 전에이 작업을 수행해야합니다. –
내가 수집 할 수 있었던 것부터, 객체는'__destruct'가 호출되기 전에 직렬화됩니다. 그래서'__sleep'과'__wakeup'을 사용하는 것이 핵심입니다.메모에서, 문서에서'__wakeup'은'__sleep'처럼 속성 목록을 반환 할 필요가없는 것처럼 보입니다. 부모 클래스를 사용하여 기본 기능을 래핑하기 때문에 필자의 경우 중요합니다. 각 하위 클래스에 어떤 속성이 필요한지 알 수있는 좋은 방법이 없습니다. – Chris