Le paramètre ExplicitMode fait son apparition. Ce paramètre permet d'envoyer automatiquement ou non les variables de classes du widget.
Si il vaut false (sa valeur par défaut) alors les variables de classes seront envoyés au template "comme avant". Si il vaut true alors il faudra utiliser $this->View.
Par défaut, tous les widgets fils héritent de la valeur ExplicitMode du widget courant.
Exemple :
classe
... function index() { $this->View->truc = 'bidule'; } ...
template
<h1> <?php echo $this->truc ?> </h1>
Cette méthode permet d'exécuter à nouveau un objet sans avoir à le recréer (cad faire new). Démonstration :
Avant :
for($z = 0; $z < 100; $z++) { $p = array('indice' => $z); $o = new monwidget($p); $o->main(); $o->dump(); }
Après :
$o = null for($z = 0; $z < 100; $z++) { $p = array('indice' => $z); if (is_null($o)) $o = new monwidget($p); else $o->reconstruct($p); $o->main(); $o->dump(); }
La méthode reconstruct prend comme deuxième paramètre un booléen qui si il est positionné à false permet de ne pas changer de ClassID entre deux appels consécutifs. L'intérêt de de cette méthode est d'économiser un peu de CPU…
La méthode addCookie de la classe Pxxo_Response ne fonctionnait pas correctement sous IE. Lorsqu'un cookie permanent était posé, le cookie expirait à la fin de la session sous IE alors que sous FF cela fonctionnait.
Plusieurs méthodes ont été réécrites suite à une étude du code avec le profiler Xdebug. Le détail de l'opération : http://www.touv.fr/spip.php?article149
Le nom des paramètres génériques en entrée de widget sont maintenant sensible à la case.
$p = array ('theme' => 'blue'); $o = new mon_widget($p); // doit maintenant s'écrire $p = array ('Theme' => 'blue'); $o = new mon_widget($p);
La méthode stackWidget ne renvoi plus rien.
Avant
$ob = $p->stackWidget($o); echo $ob->get();
Après
$p->stackWidget($o); $ob = $o->getBuffer(); echo $ob->get();
Les fichiers de traduction de Zend_Locale ont été retiré car elles sont inutilisées par Pxxo. Cette opération allège les sources de Pxxo de 6Mo. (disponible en version 5.5.1)
Dans la classe Pxxo_Response, la méthode addCookie ne faisait rien lorsqu'elle était appelée en même temps qu'un setRedirect. (disponible en version 5.5.2)