FUDforum
Fast Uncompromising Discussions. FUDforum will get your users talking.

Home » Imported messages » comp.lang.php » object in $_SESSION
Show: Today's Messages :: Polls :: Message Navigator
Return to the default flat view Create a new topic Submit Reply
Re: object in $_SESSION [message #174404 is a reply to message #174399] Fri, 10 June 2011 10:46 Go to previous message
Jerry Stuckle is currently offline  Jerry Stuckle
Messages: 2598
Registered: September 2010
Karma:
Senior Member
On 6/10/2011 4:02 AM, Jivanmukta wrote:
> Hello,
> I need your opinions about my solution of some programming probem. I
> have little experience in web developement and PHP.
> I have a page insert_send.html with a form. The user enters into the
> form path of HTML file with bank statement and presses submit button.
> Then import_statement.php program is executed. The program imports
> bank statement into Statement object (which is complicated task) and
> runs:
> $_SESSION['statement'] = serialize($statement);
> headerLocation('send_emails.php');
> Then send-emails.php program is executed. It runs:
> $statement = unserialize($_SESSION['statement'];
> and sends emails according to statement positions (which is
> complicated task, too).
> My question: is the method of transferring Statement object through
> session array acceptable in my case? One man told me that passing
> objects through sessions is usually an error, but I don't know why.
> I decided to separate importing of bank statement and sending emails
> into two different files becase of complexity of these tasks.
> Please help. Thanks in advance.
>
> newbie

You don't have to serialize() the object; just storing it in the session
is sufficient.

Erwin's comments about what the object can contain are very valid.
However, I don't consider it an error to pass an object through a
session; it's no different than any other variable. And often it is
more efficient to pass the entire object through the session than doing
something like passing an id and rebuilding the object from a database
query.

The real "problem" here is PHP's handling of objects. When your script
ends, PHP calls the destructor for the class. But when it is
deserialized, PHP does not call the constructor. This creates a
situation where there can be more destructors called than constructors -
a clear violation of OO principals.

--
==================
Remove the "x" from my email address
Jerry Stuckle
JDS Computer Training Corp.
jstucklex(at)attglobal(dot)net
==================
[Message index]
 
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Previous Topic: FDF extensions to PHP will not compile
Next Topic: Setting PDO::ATTR_ERRMODE to E_WARNING before connecting!
Goto Forum:
  

-=] Back to Top [=-
[ Syndicate this forum (XML) ] [ RSS ]

Current Time: Sat Nov 23 02:29:02 GMT 2024

Total time taken to generate the page: 0.06232 seconds