나는 Serializable 인터페이스를 학습하고 있습니다. PHP에서 Serializable 인터페이스를 구현할 때 __destruct 메서드가 올바르게 호출 되었습니까?
는로서 :이 __destruct()를 호출하거나 메소드 내부 프로그래밍 않는 다른 부작용이 없음을 밝혔다. 제가 감에 따라 두 부분으로 분리하고자
1)__destruct()를 직렬화 인터페이스를 구현할 때이 호출되지 않는다. 그러나로 난) ( 방법을 __destructor를 사용할 때 :
이class myClass implements Serializable{
public function serialize(){
return 'I am serialized';
}
public function unserialize($serialized){
//--
}
public function __destruct(){
echo "Hello world";
}
}
$obj = new myClass();
__destructor 방법은 잘 작동이 간단하게 출력은 다음과 :
Hello world
2) :를 사용해야하는 경우 __destruct() 메서드를 사용하여 메서드 내부에서 선언해야합니다. 내가 같은 방법 안에 선언 할 때 :
class myClass implements Serializable{
public function serialize(){
return 'I am serialized';
}
public function cutomDest(){
public function __destruct(){
echo "Hello world";
}
}
public function unserialize($serialized){
//--
}
}
$obj = new myClass();
그것은으로 다음 파서 오류를 반환 : php.net가 잘못된 문서를 제공하거나 내가 잘못 할 수없는 이유
Parse error: syntax error, unexpected 'public' (T_PUBLIC) in .....
. 제발 누구나 의 설명서에 대해 가르쳐 줄 수 및 의 개념에서 Serializable 인터페이스는 다음 참조 페이지에 있습니까?
참조 링크 http://php.net/manual/en/class.serializable.php.
왜 공개 기능에 공개 기능이 있습니까? 그냥 호기심 – Akintunde007
Ohk, 그것을 얻었지만 php.net이 그 방법을 선언한다고 말한 이유는 무엇입니까? 참조 링크를 참조하십시오 ... –
@MummyDaddy이 문서는'unserialize()'메소드 안에'__destruct()'메쏘드를 선언해야한다고 말하지는 않습니다. – Progman