As you mentioned, static properties and statically scoped variables don't belong to an object instance, so it doesn't make sense to serialize them.
--Wez. On 10/26/05, Matthias Pigulla <[EMAIL PROTECTED]> wrote: > Hi internals, > > I was experimenting with different approaches of maintaining state and > serializing objects in PHP5. The problem is handling static class > members and static variables inside methods. > > First, I noted that static variables inside methods are shared between > instances. C++ seems to handle it the same way, but admittedly, I was a > little bit surprised: Such variables are available as "local" variables > in methods that are called using an instance, i. e. non-statically, > whereas static class variables can only be accessed using a static > reference to a class (self::, parent:: or Classname::). > > However, this explains why static variables inside functions do not show > up when serializing object instances: Because the static variable is - > just like a static class variable - not "part of the object", but > belongs to the class. > > So - has anybody ever considered serializing static variables as well? > Obviously they have to be treated separately at a per-class level; let > alone static variables in functions outside classes ;). > > Would it be possible to write a session serialize handler that somehow > includes such static elements? I presume it should be possible to > "somewhere find" the static elements. > > (Strictly spoken, an object instance's state expresses itself in > non-static members of the instance, so the above "static variables in > functions" stuff makes sense the way it is - if I want to maintain > per-instance state, I shouldn't be using local static variables, but > "plain" object members for that. However, when working with the > Singleton pattern, you don't come around using static at some level...) > > Best regards, > Matthias > > -- > PHP Internals - PHP Runtime Development Mailing List > To unsubscribe, visit: http://www.php.net/unsub.php > > -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php