Re: json_encode ignores protected/private class members
| From: | Vesselin Kenashkov | Date: | Thu, 09 Oct 2008 13:07:59 +0000 |
| Subject: | Re: json_encode ignores protected/private class members | ||
| References: | 1 | Groups: | php.internals |
| Request: | Send a blank email to internals+get-40886@lists.php.net to get a copy of this message | ||
Until this gets fixed instead of declaring the properties public you can use
a encode method like this:
<?
class c1
{
protected $p1 = 'aa';
public $p2 = 'bb';
public function enc()
{
//print $this->p1;
return json_encode(get_object_vars($this));//this will encode the
protected var
}
}
$o = new c1;
print $o->enc();
?>
On Thu, Oct 9, 2008 at 3:54 PM, Jarismar Chaves da Silva <
jarismar_silva@adplabs.com.br> wrote:
> Hi internals,
>
> Does anyone knows why json_encode ignores protected/public class members ?
> I've searching about it on documentation an mailing lists but found
> nothing but workarounds.
> Until now I'm forced to change my classes to use public members when I
> need to send a PHP object on e.g. AJAX responses. It would be nice if
> json_encode also send those attributes or at least have a parameter to
> whether send non-public attributes or not.
>
> Thanks in advance.
> Jaris.
>
> --
>
> *Jarismar Chaves da Silva, M.Sc.*
>
> *ADP**Labs** Brazil**
> *jarismar_silva@adplabs.com.br
> <mailto:jarismar_silva@adplabs.com.br>
> http://www.adp.com
>
>