====== le 22 aout 2005, Pxxo 2.1.1 ====== La principale nouveauté concerne la mise en place d'une méthode générique de construction des composants. Outre la possibilité d'ajouter autant de type composant que l'on souhaite, cette méthode permet un meilleur contrôle du composant (notamment pour la transformation XSL). ===== Méthode générique ===== Les fonctions put???? sont toujours disponibles mais elles deviennent des alias de la fonction générique put. Dorénavent, le mieux est d'utiliser directement le méthode put, en suivant les correspondances suivantes : | $this->putHTML($a) | $this->put('HTML', array($a)) | | $this->putPHP($a) | $this->put('PHP', array($a)) | | $this->putPago($a) | $this->put('Pago', array($a)) | | $this->putPhpTpl($a) | $this->put('PhpTpl', array($a)) | | $this->putXslt($a) | $this->put('Xslt', array($a)) | | $this->putXX($a, $b, $c) | $this->put('XX', array($a, $b, $c)) | **RECOMMANDATIONS** Utiliser la méthode générique put à la place des méthhodes put??? c'est bien mais il est fortement recommandé d'utiliser la nouvelle méthode nommée putComponent. Démonstration : // du HTML // Avant $p = $this->addComponent('ZONE'); $p->putHTML("Hello world"); // Après $this->putComponent('Html', 'ZONE', array('Hello world')); // une transformation XML/XSL // Avant $p = $this->addComponent('ZONE'); $p->putXX("./data.xml", "./feuille.xsl", array('name' => 'value'); // Après $this->putComponent('Xx', 'ZONE', array("./data.xml", "./feuille.xsl", array('name' => 'value')); // du PHP // Avant $p = $this->addComponent('ZONE'); $p->putPHP(""); // Après $this->putComponent('Php', 'ZONE', array("")); // un objet PHPTPL // Avant $p = $this->addComponent('ZONE'); $p->putPhptpl($o); // Après $this->putComponent('Phptpl', 'ZONE', array(&$o)); // un objet XSLT // Avant $p = $this->addComponent('ZONE'); $p->putXslt($o); // Après $this->putComponent('Xslt', 'ZONE', array(&$o)); // un objet Pago ou Pxxo_Action // Avant $p = $this->addComponent('ZONE'); $p->putPago($o; 'fr'); // Après $this->putComponent('Pago', 'ZONE', array($o, 'fr')); La méthode putComponent permet d'économiser une ligne de code et du temps de traitement. En fait, elle est plus rapide que la méthode addComponent suivit de la méthode put. ===== Transformation XML/XSL ===== Le composant XX contient maintenant 5 paramètres : | $params[0] | fichier ou chaîne XML | | $params[1] | fichier ou chaîne XSL | | $params[2] | paramètres de transformation sous forme d'un tableau nom valeur | | $params[3] | nom du parseur XSLT à utiliser. Les valeurs possibles sont : domxslt, xsltproc (par défaut), sablotron | | $params[4] | nom d'une fonction pour transformer le résultat de la transformation (par exemple : utf8_decode) | | $params[5] | Booléen permettant d'activer l'exécution de code php éventuellement générer par la transformation (par défaut: false) | __Exemple :__ $p->put('Xx', array('data.xml', 'feuille.xsl', null, 'domxslt')); $p->put('Xx', array('data.xml', 'feuille.xsl', null, null, null, true)); $p->put('Xx', array('data.xml', 'feuille.xsl', null, 'xsltproc', 'utf8_decode', false)); ===== Options Pago/Pxxo_Action ===== Les options Pago sont maintenant au nombre de 3. Elles sont accessibles via les variables de classe suivantes : | $this->HistoryMode | l'enchaînement des modes est historisé ou non | | $this->PersistentMode | le dernier mode activé reste actif tant que l'on n'en change pas | | $this->StripSpacesMode | le HTML produit est vidé ou non des blancs intulies | On peut modifier ces options à l'aide des méthodes suivantes : | $this->enableHistoryMode() | active HistoryMode | | $this->disableHistoryMode() | désactive HistoryMode | | $this->enablePersistentMode() | active PersistentMode | | $this->disablePersistentMode() | désactive PersistentMode | | $this->enableStripSpacesMode() | active StripSpacesMode | | $this->disableStripSpacesMode() | désatcive StripSpacesMode | ===== Divers ===== L'option StripSpacesMode a été ajoutée et elle est active par défaut.