Originariamente inviato da Fabio Heller
La classe è in beta e non l'ho più presa in mano, ma non mi sono accorto di questi problemi, mi faresti un esempio di ogetto che non viene serializzato correttamente?
mica facile, cmq dava errori la console e lo script si bolccava, abbinando la mia LoadVars alla tua Serialize
Originariamente inviato da Fabio Heller
Ho visto il tuo codice e mi sembra ok, se funziona è sempre ok
cacchio ... avevo fatto tutti i tests possibili e immaginabili poi nell' ottimizzare mi sono perso un : per stada, ora ho riaggiornato questa che dovrebbe essere l'utima versione o perlomeno quella stabile.
Originariamente inviato da Fabio Heller
L'unica cosa: io ho evitato quanto più possibile di utilizzare switch o if...else per mantenere lo script più efficiente possibile (si tratta di quisquiglie comunque) se riesci ad adattare il tuo nello stesso modo secondo me sarebbe un tocco in più.
a dire il vero un if me l'hai dato come spunto per i numeri, l'indexOf per il tipo integer o diuble in serializzazione ... per gli altri .. beh, sono d'obbligo ma uno switch su un carattere non ha mai rallentato niente.. o meglio , non e' li il collo di bottiglia.
Originariamente inviato da Fabio Heller
Le "funzioni variabili" non sono una prerogativa di PHP esistono anche in Javascript e quando possibile è utile usarle (in questi casi si parla di Lazy Programming)
non ho capito niente di questa frase, me la spiegheresti con parole per comuni mortali ? 
per concludere, ecco un bench che verifica in parallelo su una sola pagina PHP e JavaScript in serializzazione e deserializzazione, utile per debug o test sulle prestazioni.
La cosa deludente e' che FireFox in deserializzazione è MOLTO piu' lento di IE o Opera, la cosa sorprendente è che la serializzazione è molto veloce mentre bisognerebbe ottimizzare la deserializzazione, poiche' su 500 records o piu' comincia a farsi sentire 
Per ora mi interessa una versione ufficiosa e stabile, poi alle prestazioni pensero' dopo anche se ho contato le variabili utili ... non so piu' dove ottimizzare.
Anche mettendo le funzioni esterne il problema non cambia, ovvero non e' una questione di OO o di Function piuttosto che Object, e' proprio che la stringa in pasto alla deserializzazione pesa e per quanto la riduca di volta in volta non riesco a migliorare, sono ben accetti consigli.
codice:
<?php
$jsbench = 'var myar = new Array();';
$myarray = array();
for($a = 0; $a < 5; $a++) {
$jsbench .= "myar.push(new Array(".($a+1).", 'C{$a}', 'dE{$a}', 'AbcD{$a}'));";
array_push($myarray, array($a+1, 'C'.$a, 'dE'.$a, 'AbcD'.$a));
}
?>
<script type="text/javascript" src="PHP_Serializer.js"></script>
<script type="text/javascript">
// function to dump an object / array
function showObject(obj, level) {
var l = '';
var tmp = '';
for(var a = 0; a < level; a++)
l += '[_]';
for(var a in obj) {
var type = typeof(obj[a]);
if(type == 'object')
tmp += showObject(obj[a], (level + 1));
else
tmp += l + ' [' + typeof(a) + '] ' + a + ' = value: ' +
obj[a] + ' < ' + type + '\n';
}
return tmp;
}
// new PHP_Serializer
var php = new PHP_Serializer();
// array with some nested arrays
<?php echo $jsbench; ?>
<?php echo 'var phpserialized = "'.str_replace('"', '\"', serialize($myarray)).'";'; ?>
// start serializzation time
var time = new Date();
var start = time.getTime();
// array serializzation
var myar_ser = php.serialize(myar);
// elapsed serializzation time
time = new Date();
var end1 = (time.getTime() - start);
// start deserializzation time
time = new Date();
start = time.getTime();
// deserializzation
var myar2 = php.unserialize(myar_ser);
// elapsed deserializzation time
time = new Date();
var end2 = (time.getTime() - start);
// write bench result
var bench = 'Time information\n';
bench += 'Serializzation: ' + (end1/1000) + ' secondi\n';
bench += 'Deserializzation: ' + (end2/1000) + ' secondi\n';
bench += '\nArray information\n';
bench += 'Native Array : ' + myar.toString();
bench += '\nModified Array : ' + myar2.toString();
bench += '\n\nJavaScript Array serialized rappresentation\n';
bench += myar_ser;
bench += '\n\nPHP serialized rappresentation\n';
bench += phpserialized;
bench += '\n\nAre JS and PHP serialized strings equal ?\n';
bench += (phpserialized == myar_ser) ? 'Yes' : 'No';
bench += '\n\nDump information\n';
bench += '-Native Array : \n'
bench += showObject(myar);
bench += '\n-Modified Array : \n'
bench += showObject(myar2);
document.write('<pre>' + bench + '</pre>');
</script>