Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:48324 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 26846 invoked from network); 18 May 2010 21:04:56 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 18 May 2010 21:04:56 -0000 Authentication-Results: pb1.pair.com smtp.mail=mathiasgrimm@gmail.com; spf=pass; sender-id=pass Authentication-Results: pb1.pair.com header.from=mathiasgrimm@gmail.com; sender-id=pass; domainkeys=bad Received-SPF: pass (pb1.pair.com: domain gmail.com designates 209.85.160.170 as permitted sender) DomainKey-Status: bad X-DomainKeys: Ecelerity dk_validate implementing draft-delany-domainkeys-base-01 X-PHP-List-Original-Sender: mathiasgrimm@gmail.com X-Host-Fingerprint: 209.85.160.170 mail-gy0-f170.google.com Received: from [209.85.160.170] ([209.85.160.170:48116] helo=mail-gy0-f170.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 93/97-15677-6F003FB4 for ; Tue, 18 May 2010 17:04:54 -0400 Received: by gyf2 with SMTP id 2so3098922gyf.29 for ; Tue, 18 May 2010 14:04:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:received:date:message-id :subject:from:to:content-type; bh=hkh/elXW8s3sitX2UfwFSTDIiXVoMYxl6GHHzMjLL8c=; b=ThNfNGJw55X7wMt5foRcB1LTzl1Uzpthw9flWlQ60cHBsL6vp2khg3UmIlPoVzQhDo xndS4BDijbPI3yzVMDogTiPC+xzvqSOHtxAsTu8EixlCr1bpm/rQkH5MU+APqeP9uo65 n2ngQz8bPz7k6qhlfFINxzwZxT62LzlFtkMUA= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:date:message-id:subject:from:to:content-type; b=YVd2kVbkNKwagvEbrdKCmC4nnHixHR5qv5P0hnzfL2SXseQj6BI/v/3aavZ2eQHgfO FNaLSVLg7G0tPQsojNCv88apyFjEsxbhKLrZF4xi+XBhQADLA1MxkVOtVn5SMojZHNBX Yimlu6mEYoltgLrUssAoOY5u7CEry9VE6E0hU= MIME-Version: 1.0 Received: by 10.101.133.30 with SMTP id k30mr8837266ann.42.1274216691837; Tue, 18 May 2010 14:04:51 -0700 (PDT) Received: by 10.100.137.18 with HTTP; Tue, 18 May 2010 14:04:51 -0700 (PDT) Date: Tue, 18 May 2010 18:04:51 -0300 Message-ID: To: internals@lists.php.net Content-Type: multipart/alternative; boundary=0016e68ef47048aa0e0486e4b1ca Subject: Jsonable interface From: mathiasgrimm@gmail.com (Mathias Grimm) --0016e68ef47048aa0e0486e4b1ca Content-Type: text/plain; charset=ISO-8859-1 If php have annotations feature its be very simple. class MyClass implements Jsonable { private $name; private $age; Transient private $dtCreated;// or JsonIgnore or JsonTransient } all properties will be encoded, except transient. Otherwise,php can have jasonable interface and class that implements it, by default encode all properties(private,default,public,protected), except properties in the __jsonTransient. class MyClass implements Jsonable { private $name; private $age; private $id; public function __jsonTransient() { return array('id'); } } -- Mathias Grimm Sun Certified Java Programmer 6.0 #SUN604760 Zend Certified Engineer #ZEND006756 http://mathiasgrimm.com.br http://phpempregos.com.br --0016e68ef47048aa0e0486e4b1ca--