RE: [PHP-DEV] SOAP Question re: Class Mapping & Constructors
| From: | Dmitry Stogov | Date: | Wed, 14 Dec 2005 06:47:10 +0000 |
| Subject: | RE: [PHP-DEV] SOAP Question re: Class Mapping & Constructors | ||
| References: | 1 | Groups: | php.internals |
| Request: | Send a blank email to internals+get-21214@lists.php.net to get a copy of this message | ||
I'll try implement sleep/wakeup support in the HEAD, then I'll have time.
Thanks. Dmitry.
> -----Original Message-----
> From: Adam Maccabee Trachtenberg [mailto:adam@trachtenberg.com]
> Sent: Wednesday, December 14, 2005 4:23 AM
> To: Andrew Yochum
> Cc: Matt Friedman; Dmitry Stogov; internals@lists.php.net
> Subject: Re: [PHP-DEV] SOAP Question re: Class Mapping & Constructors
>
>
> I would like to second this suggestion. I have been playing
> with the classmap option and could use the ability to
> manipulate the object after instantiation but before it's
> returned to the user.
>
> -adam
>
> On Tue, 13 Dec 2005, Andrew Yochum wrote:
>
> > Hi Matt & Dmitry,
> >
> > Calling the magic __wakeup() func might be appropriate in
> this case,
> > since SOAP envelope deserialization is a lot like regular
> > deserialization. It is a lot less confusing than calling the
> > constructor w/ no args and seems quite appropriate given
> the context.
> >
> > Andrew
> >
> > On Tue, Dec 13, 2005 at 02:22:25PM -0500, Matt Friedman wrote:
> > > Hi Dmitry,
> > >
> > > It is understandable that you don't know what the arguments might
> > > be. But I would rather have the constructor called with no
> > > arguments, or with just the std object
book passed to
> > > the
> > > constructor instead of no constructor at all.
> > >
> > > Is it possible?
> > >
> > > Thanks,
> > > Matt.
> > >
> > >
> > >
> > > On 12/13/05, Dmitry Stogov <dmitry@zend.com> wrote:
> > > > Hi Matt,
> > > >
> > > > During SOAP envelope deserialization, objects are created
> > > > indirectly. So constructors are not called (constructor
> may need
> > > > arguments).
> > > >
> > > > This is not a bug.
> > > >
> > > > Thanks. Dmitry.
> > > >
> > > > > -----Original Message-----
> > > > > From: Matt Friedman [mailto:matt.friedman@gmail.com]
> > > > > Sent: Tuesday, December 13, 2005 9:49 PM
> > > > > To: internals@lists.php.net
> > > > > Subject: [PHP-DEV] SOAP Question re: Class Mapping &
> > > > > Constructors
> > > > >
> > > > >
> > > > > Hi,
> > > > >
> > > > > We are using the built-in SOAP extension.
> > > > >
> > > > > From the docs:
> > > > > $server = new SoapClient("books.wsdl", array('classmap'
> > > > > =>
> > > > > array('book' => "MyBook")));
> > > > >
> > > > > Soap server will return a complex data type 'book'. The data
> > > > > fields for book will be mapped to the php class' data
> fields in
> > > > > MyBook. It seems that the constructor for MyBook is
> never called
> > > > > (according to our tests). The data fields are mapped somehow
> > > > > internally.
> > > > >
> > > > > If I want MyBook to be much more than just a data container,
> > > > > then I can foresee that I will often want/need a
> constructor but
> > > > > __construct is not called.
> > > > >
> > > > > Could this be considered a bug? Any thoughts?
> > > > >
> > > > > --
> > > > > -- Matt Friedman
> > > > >
> > > > > --
> > > > > 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.php1Õ3
> > > > Ò8,’Ψ"*½›õ
> > > >
> > > >
> > >
> > >
> > > --
> > > -- Matt Friedman
> > >
> > > --
> > > PHP Internals - PHP Runtime Development Mailing List
> > > To unsubscribe, visit: http://www.php.net/unsub.php
> > >
> >
> >
>
> --
> adam@trachtenberg.com | http://www.trachtenberg.com
> author of o'reilly's "upgrading to php 5" and "php cookbook"
> avoid the holiday rush, buy your copies today!
>
> --
> PHP Internals - PHP Runtime Development Mailing List
> To unsubscribe, visit: http://www.php.net/unsub.php
>
>