On 09.10.2008, at 15:45, Dave Ingram wrote:
But when using json_encode I believe the developer wants to transfer
the complete object state, just like when using serialize.
Serialize does see private/protected class members, while
json_encode not.
If you want to serialize an object, then use the appropriate
function. I
think that json_encode() has the correct behaviour - encoding only the
publicly-visible structure of an object. They have fundamentally
different aims. If you want to expose data to an external source (e.g.
JavaScript) then surely it would make sense for it to be a public
class
member? Why would you not want your PHP code to be able to access it?
Because JSON is a language agnostic serialization format. Again I
agree that in the usual situation you only want public, but the other
use case is also quite legit. Having to add such a "hack" into every
class is not very useable, especially until we have traits.
regards,
Lukas Kahwe Smith
[EMAIL PROTECTED]
--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php