2011-09-06 4 views
1

나는 이전에 stackoverflow에서 객체의 수명에 대해 물었고 스크립트가 끝날 때까지 존재한다는 것을 알게되었고, 나는 그것을 테스트했으며 사실이었다. 그러나 WordPress의 경우 오랫동안 객체 수명이 길어졌습니다. 사용자 개체와 마찬가지로 특정 스크립트에서 인스턴스화되지 않은 경우에도 모든 페이지 및 모든 스크립트에서 액세스 할 수 있습니다.Wordpress에있는 객체의 생명 시간

그 이유는 무엇입니까?

+0

개체를 잠자기 상태로 설정할 수 있습니다 (예 : 개체를 직렬화 된 콘텐츠를 DB에 저장). 다음을 확인하십시오. http://www.php.net/manual/en/language.oop5.magic.php#language.oop5.magic.sleep – yoda

답변

0

이유는 사실 두 개체가 있습니다. 사용자의 데이터는 데이터베이스에서 제공되며 사용자가 로그인하면 wordpress의 API 함수가 데이터베이스의 데이터가있는 객체를 제공합니다.

데이터베이스의 데이터가 변경되지 않았으므로 몇 천조에 달하는 페이지로 수 천억 사용자 개체를 얻을 수 있습니다. 그러나이 객체들은 각각 하나의 요청에 대해서만 또는 설정하지 않을 때까지만 존재합니다.

모든 페이지에서 사용자 개체를 사용할 수있게하려면 wordpress는 각 사용자의 데이터를 데이터베이스에 저장합니다. 데이터베이스는 더 오랜 시간 동안 데이터를 보존합니다.

+0

데이터베이스에서 tu 풀 데이터가있는 경우 해당 데이터를 스크립트. 하지만 아무거나 울릴 수 있습니다, 사용자의 이름을 말할 수 있습니다. 스크립트의 아무 곳이나 인스턴스화되지 않더라도. –

+0

@backTangent 아마 이해할 수없는 부분은 싱글 톤 패턴입니다 : http://php.net/manual/en/language.oop5.patterns.php – yoda