Is that a good practice to store the objects of the domain model in the PHP session ?
This would enable to avoid to query and reconstruct every PHP object to each PHP request.
Is there a size limit ?
Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.
Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.
Lost your password? Please enter your email address. You will receive a link and will create a new password via email.
Please briefly explain why you feel this question should be reported.
Please briefly explain why you feel this answer should be reported.
Please briefly explain why you feel this user should be reported.
If you use OOP in PHP you probably want these objects to be reconstructed at every request for several reasons.
All in all there wouldn’t be much of a performance difference between storing, loading and deserializing the objects from the session, as you suggested, or just reconstructing them either.
It would depend much on the kind of the classes you use too, of course. Constructing a class usually isn’t very problematic in terms of performance unless there is a real lot of stuff needed to do so (Database queries, etc.)
Additionally, doing so could make your code less understandable and/or maintainable too.
And yes, there is a size limited defined by the maximum memory usage of PHP set in the php.ini
So this question is not really answerable unless you exactly know what the classes you want to store in the session are, what they do and how they interact.
For example, if you were having a class which abstracts a logged-in user on your site, storing it’s object in the PHP session would probably a good idea. In most other cases, however it wouldn’t.