CDbHttpSession non mantiene array?

Ciao, buona pasquetta a tutti, è possibile che ci siano delle limitazioni in CDbHttpSession o nella gestione della sessione in generale che impediscono di memorizzare array e oggetti in genere non primitivi?

Sto cercando di fare un wizard che nei passi intermedi elabora un array abbastanza grande i cui valori devono essere confermati prima di essere immessi definitivamente nel database.

Metto l’array nella sessione così :




$tmpsess_controller = Yii::app()->session['tmpsess_controller'];

$tmpsess_controller['grande_array'] = $grande_array ;

Yii::app()->session['tmpsess_controller'] = $tmpsess_controller;



All caricamento della pagina successiva del wizard non ritrovo più l’array mentre se ci metto una semplice stringa questa rimane stabilmente in sessione.

Mi devo rassegnare?

serializza…

Non funziona neanche la serializzazione con serialize() / unserialize()

Ho risolto mettendo negli array solo valori primitivi invece di tutta la classe… d’altronde è anche meglio così non ingolfo la sessione di byte non indispensabili

Credo che la serializzazione non ha funzionato perchè gli oggetti che cercavo di mettere erano troppo grandi : erano circa 300 istanze di model ActiveRecord!

Sicuramente se provo a mettere in sessione classi più ‘leggere’ e serializzarle le gestisce bene.