Stut wrote: > Dave M G wrote: >> The issue turned out to be my Article class took arguments in its >> constructor, which was unacceptable because the argument could not be >> serialized when being passed along during the session. >> >> By adjusting my object so that the constructor takes no arguments, and >> then creating a new method on the object to do what the constructor >> did previously, the problem was solved. >> >> That explanation may be confusing, but that's because I don't fully >> understand serialization myself yet. All I can say for sure is that >> the problem was definitely a serialization issue. > > When objects are unserialised the constructor will be called without > arguments because the values passed to the constructor are not heh Stut, this is wrong - the ctor is not called at all when unserializing, check this code snippet: php -r ' class Test { function __construct() { echo "foo\n"; } } $t = new Test; $s = serialize($t); unset($t); $u = unserialize($s); ' this only outputs 'foo' once. seems like whatever Dave's problem was it's actually down to missing ctor args. > automatically stored in the object. You can get around that without > having to create a second initialisation method by using default values > for your arguments... > > class Foo > { > public __construct($param = null) > { > if (!is_null($param)) > { > // Parameter passed, do something with it > } > } > } > > -Stut > -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php