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é.
Maintenant toutes les erreurs Pxxo sont numérotées et elles proposent un lien vers cette page :
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'); } ...
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'.
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 : 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 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);
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.