[dev] [commits] Horde-Hatchery branch master updated.
Jan Schneider
jan at horde.org
Fri Feb 20 21:00:45 UTC 2009
Zitat von Michael M Slusarz <slusarz at horde.org>:
> Quoting Jan Schneider <jan at horde.org>:
>
>> Associative PHP arrays are serialized as JSON arrays when empty,
>> instead of
>> objects. $H() only works with objects though.
>> Michael, have you seen this earlier and solved it differently?
>
> At one point, I thought I was casting all arrays to stdClass
> objects, but I don't see that code anymore.
>
> The better solution in general is simply to check for empty-ness in
> the server code and if the value is empty, don't set the value at
> all in the to-be-sent JSON object. Then you can just do existence
> checking in the JS code. This has the advantage of making JSON
> encoding/decoding a bit faster and reduces the size of the data
> object sent to the browser in the AJAX response. Same goes for
> false-ish values - there is simply no need to set these variables if
> false. An example from imp/lib/Views/ListMessages.php:
>
> if ($sortpref['limit']) {
> $md->sortlimit = 1;
> }
>
> If there is no limit, there is no need to even set sortlimit.
>
> For example, in your _monthCallback function, don't set 'events' if
> empty and simply add existence checking:
>
> if (r.response.events) {
> $H(r.response.events).each(function(date) {
> ...
Thanks!
Jan.
--
Do you need professional PHP or Horde consulting?
http://horde.org/consulting/
More information about the dev
mailing list