======Le 2 février 2008, Pxxo 5.0 ====== ===== Passage à PHP 5 ===== Pxxo est maintenant exclusivement compatible avec PHP version 5. ===== Changement de licence ===== Pxxo changement de licence pour une licence de type **new BSD** ===== Widget sans S ===== 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. ===== Stream et Transformer ===== 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. ===== Tri des ressources ===== 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); ===== Utilisation du Zend Framework ===== - Remplacement de Cache_Lite par Zend_Cache - Utilisation de Zend_View - Utilisation Zend_Register - Utilisation Zend_Locale - Utilisation Zend_Translate ===== Nouveau module de traduction ===== 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'; ===== Réglages des paramètres d'un widget ===== 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__); } ===== Titre de la page et metadonnées ===== 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); ===== Ménage ===== Suppression des classes : - Pxxo_Action - Pxxo_Auto - Pxxo_Xml - Pxxo_Phptpl - Pxxo_Pago_* - Pxxo_Template - Pxxo_Controller - Pxxo_Xslt_Handler_* - Pxxo_Xslt_* - Pxxo_Entitites - Pxxo_Component - Pxxo_I18n Suppression des méthodes dans Pxxo_Component : - setTpl - addHeadInlineScript - addHeadScript - addHeadInlineStyle - addHeadStyle, - getParameter - agetParameter - delParameter - setParameter - addPago - putComponent - putRessource, - addHeadBrowserMeta - addHeadUserMeta - enableXXXX ===== Divers ===== * Les constructeurs pour PHP 4 sont supprimés. * La classe Pxxo_Xslt fonctionne exclusivement avec le module XSL de PHP5 * Les classes Pxxo_Widgets et Pxxo_Component sont fusionnées * Le paramètre HistoryMode est supprimé.