====== Le 7 juillet 2008, Pxxo 5.2 ======
===== Ajout de la méthode switchMode =====
__Prototype :__ ''mixed switchMode(string)''
La méthode **switchMode()** permet de changer de mode tout en exécutant le nouveau.
On retourne le retour de la méthode du mode choisi.
__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é.
===== Nouvelle gestion des erreurs =====
Maintenant toutes les erreurs Pxxo sont numérotées et elles proposent un lien vers cette page :
[[fr:error]]
===== Ajout de la méthode excludeVars =====
__Prototype :__ ''excludeVars(mixed, ...)''
La méthode excludeVars() permet d'éviter que des variables soient envoyées au template. De ce fait ces variables ne sont plus sérialisées lors des calculs automatiques du cache de Pxxo. Ceci est très pratique lorsque l'on manipule des objets non sérialisables comme PDO en php5.
__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');
}
...
===== Lisibilité des ressources =====
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 information 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'.
===== Pxxo_Config =====
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és lors de la création de l'objet.
Voir un exemple dans la documentation : [[fr:doc:pxxo:features:config]]
===== Surcharge du ClassID =====
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 faits 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);
===== Ajout de la méthode getParamsArray =====
__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 fait ce qui a été passé en paramètre au constructeur ($params) à la différence que les valeurs des paramètres peuvent avoir été modifiées par l'exécution du widget suivant le moment où cette méthode est appelée.