2010-03-23 2 views
1

PHP 세션에서 도메인 모델의 객체를 저장하는 것이 좋습니다.PHP 세션에서 도메인 모델 저장

이렇게하면 각 PHP 요청에 대한 모든 PHP 개체를 쿼리하고 재구성하지 않아도됩니다.

크기 제한이 있습니까?

+1

같은 개체를 수정하는 클라이언트는 약 두 명입니까? 내 생각에 독서에는 좋다고 생각하지만 글을 쓸 때 동시성을 고려해야합니다. –

+0

크기에 관한 다음 질문을 참조하십시오 : http://stackoverflow.com/questions/217420/ideal-php-session-size –

+0

@Jhonny : 당신은 아주 좋은 지적을합니다 ... 다른 해결책을 찾아야합니다. –

답변

2

PHP에서 OOP를 사용하는 경우 몇 가지 이유로 요청 시마다 이러한 객체를 재구성해야합니다. 전체적으로 세션에서 객체를 저장,로드 및 비 직렬화하는 것과 제안한대로 또는 객체를 재구성하는 것 사이의 성능 차이는별로 없습니다.

물론 수업의 종류에 따라 많이 달라집니다. 클래스를 생성하는 것은 성능면에서별로 문제가되지 않습니다 (데이터베이스 쿼리 등)

또한 이렇게하면 코드를 이해하기 쉽고 유지 보수하기가 어려워 질 수 있습니다 너무.

그리고 네, 그래서이 질문은 정확히 클래스는 당신이에 저장할 것을 알지 못한다면 정말 답할 수없는 php.ini의

에서 PHP 세트의 최대 메모리 사용량에 의해 정의 된 제한 크기가 세션, 그들이하는 일, 그리고 그들이 어떻게 상호 작용 하는지를 보여줍니다.

예를 들어 사이트에 로그인 한 사용자를 추상화하는 클래스가있는 경우 PHP 세션에 해당 객체를 저장하는 것이 좋습니다. 그러나 대부분의 다른 경우에는 그렇지 않습니다.

+0

제 경우에는 전체 모델을 저장하게 될 것입니다. 예를 들어 사용자가 연결하여 "프로젝트"에 액세스 할 수 있다면 현재 작업중인 프로젝트를 세션에 저장하는 것입니다. 참고 : "프로젝트"는 약 100 개의 PHP 개체 집합입니다 (이 때문에 매번 다시로드하지 않으려 고합니다. 약 50 개의 쿼리입니다) –