La méthode switchMode() permet de changer de mode tout en exécutant le nouveau.
Avant on pouvait avoir ceci :
... $this->setMode('truc'); $this->truc(); ...
Maintenant on aura ça :
... $this->switchMode('truc'); ...
Remarque : pensez à faire un return après l'appel à switchMode si vous ne désirez pas que l'exécution du code continue sur l'ancien mode une fois que le mode demandé (truc) est terminé.
Maintenant toutes les erreurs Pxxo sont numérotées et elle propose un lien vers cette page :
La méthode excludeVars() permet d'éviter que des variables soient envoyées au template.
Exemple :
class MonWidget extend Pxxo_Widget { public $ma_variable = 'test'; public $v1 = 'test'; public $v2 = 'test'; function initmode() { $this->excludeVars('ma_variable'); $this->excludeVars('v1', 'v2'); } ...
Pxxo utilise maintenant les classes de réflexions pour détecter plus finement si les variables sont “public”, “private”, ou “protected”. A partir de cette version Pxxo n'enverra plus les variables déclarées Exemple :
private vers les templates.
class MonWidget extend Pxxo_Widget { private $ma_variable = 'test'; ...
$ma_variable ne sera plus transmise aux templates.
Il est parfois nécessaire d'accéder aux ressources d'un widget (js,css) mais il est actuellement difficile de les identifier correctement. Une informations importante pour les identifier est le nom du fichier utilisé pour générer la ressource. Cette version de Pxxo ajoute la propriété filename ainsi que la méthode getFilename() aux ressources.
Exemple d'utilisation :
$prototype_js_url = "/"; foreach($this->Resources as $r) { if ($r->getFilename() == 'prototype.js') { $prototype_js_url = $r->get(); break; } }
Ce code va rechercher l'url de la ressources dont le nom de fichier est 'prototype.js'.
Les paramètres suivants ont été supprimés : charset, class_args, class_prefix, class_core, mail, controller_used.
Les autres paramètres sont maintenant automatiquement calculé lors de la création de l'objet.
Voir un exemple dans la documentation : Pxxo_Config
Il est maintenant possible de surcharger la valeur du ClassID depuis le tableau de paramètres d'un widget. Ainsi, si des traitements dépendant du ClassID sont fait dans le constructeur du widget, le bon ClassID sera utilisé.
Avant on devait faire comme ceci :
$params = array(); $params['montexte'] = 'bla bla'; $o = new Pxxo_Widget_HelloWorld($params); $o->ClassID = 'MonClassIDPersonnalise';
Maintenant on peut faire comme ceci :
$params = array(); $params['montexte'] = 'bla bla'; $params['ClassID'] = 'MonClassIDPersonnalise'; $o = new Pxxo_Widget_HelloWorld($params);
Prototype : array getParamsArray()
Elle retourne la liste des paramètres du widget. Les clés sont les noms des paramètres et les valeurs sont les valeurs des paramètres. Cette méthode retourne en faite ce qui a été passé en paramètre au constructeur ($params) à la différence que les valeurs des paramètres peuvent avoir été modifié par l'exécution du widget suivant le moment où cette méthode est appelée.