Pxxo est maintenant exclusivement compatible avec PHP version 5.
Pxxo changement de licence pour une licence de type new BSD
La classe Pxxo_Widgets est remplacée par la classe Pxxo_Widget. D'une manière générale le S de widget a été supprimé partout.
Les notions Stream et Transformer sont remplacées respectivement par les notions de Buffer et de View.
La notion de liste de Buffers apparaît avec la classe Pxxo_Buffers.
On peut trier les ressources via un poids. Cela est utile notamment pour les fichiers javascript qui doivent être chargés dans un ordre donné.
Exemple :
$id = $this->putScript('second.php.js'); $this->Resources->get($id)->setWeight(3000); $id = $this->putScript('premier.php.js'); $this->Resources->get($id)->setWeight(4000);
Le moteur de traduction se base sur le module Zend_Translate. Pxxo_Config::get('language') est réglé automatiquement par Zend_Locale. Une instance de Zend_Locale se trouve dans Pxxo_Config::get('locale').
La fonction _po est supprimée, elle est remplacée par la méthode nommée _ de l'objet Pxxo_Widget.
Exemples :
// Avant (dans les templates) echo _po('hello world'); // Après echo $Self->_('hello world'); // Avant (dans un widget) $v = _po('hello world'); // Après $v = $this->_('hello world');
Les fichiers de traduction fonctionnent comme les autres ressources (surcharge et thème). Ces fichiers ne remplissent plus un tableau global mais une variable de classe.
// Avant $GLOBALS['i18n']['hello'] = 'bonjour'; // Après $this->TranslateData['hello'] = 'bonjour';
Les méthodes enableXXXX et disableXXXX, XXXX correspondant à une option. (Exemples : enablePersistentMode(), enableStandaloneMode) sont supprimées.
Pour modifier ces options on modifiera directement l'attribut correspondant.
Exemple
// Avant $this->enableStandaloneMode(); // Après $this->StandaloneMode = true;
On peut également affecter automatiquement cette valeur à la construction de l'objet.
Exemple :
function __construct($params) { $params['StandaloneMode'] = true; parent::__construct($params, __FILE__); }
La méthode addHeadTitle est supprimée. Elle est remplacé par la méthode putTitle.
Exemple :
// Avant $this->addHeadTitle('Un titre possible pour ma page'); // Après $this->putTitle('Un titre possible pour ma page');
De manière générale, on pourra remonter des informations vers l'entête de la page en ajoutant des Buffer à la liste $this→Headers.
Exemple :
$b = Pxxo_Buffer::factory('meta', 'une description' ); $this->copyto($b); $this->Headers->add($b);
Suppression des classes :
Suppression des méthodes dans Pxxo_Component :