====== Le 9 mai 2007, Pxxo 4.2 ====== ===== 2 nouvelles Méthodes ===== * putImage($filename, $id) Méthode permettant d'ajouter une image. Si l'identifiant n'est pas fourni, celui ci sera automatiquement égal au nom (en majuscule) du fichier sans son suffixe Exemples : $this->putImage('truc.png'); // ===> $TRUC $this->putImage('machin.png', 'BIDULE'); // ===> $BIDULE * putData($id, $value) Méthode permettant d'ajouter le contenu d'une variable PHP. Exemples : $this->putData('ID1', 'super'); $this->putData('ID2', array(1, 2, 3)); * putMedia($filename, $id = null) Ajout d'un media Dynamique (calculé comme un template) Un média est une ressource externe à la page référencé dans celle-ci par une URL. Comme par exemple : un fichier svg, swf, png, etc ... Le suffixe du fichier est utilisé pour typer le contenu. Si l'identifiant n'est pas fourni, celui-ci sera automatiquement égal au nom (en majuscule) du fichier en s'arrêtant au premier point rencontré. Exemples : $this->putMedia('image.php.png'); // ===> $IMAGE $this->putMedia('duflash.xml.php.swf'); // ===> $DUFLASH $this->putMedia('truc.php.svg', 'DUSVG'); // ===> $DUSVG ===== Réglages d'un composant PXXO à la construction ===== Exemple de réglage interne : class exemple extends Pxxo_Widgets { function __construct() { $params = array( 'PersistentMode' => true, 'StripSpacesMode' => true, 'ResourceURL' => 'rsc', 'ResourcePath' => dirname(__FILE__).DIRECTORY_SEPARATOR.'rsc', ); $this->Pxxo_Widgets($params, __FILE__); } } Exemple de réglage externe : $params = array( 'PersistentMode' => true, 'StripSpacesMode' => true, 'ResourceURL' => 'rsc', 'ResourcePath' => dirname(__FILE__).DIRECTORY_SEPARATOR.'rsc', ); $obj = new Pxxo_Widget_HelloWorld($params); ===== Groupement des ressources ===== ==== Principe ==== Les ressources de type CSS ou Javascript, sont regroupées en un seul fichier. Cela permet d'améliorer nettement les performances. ==== En pratique ==== Concrètement, le template du widget qui termine une page reçoit (si besoin) plusieurs variables qui contiennent les URLs vers les ressources regroupées. Ces variables sont : * $Javascripts * $ScreenStyles * $PrintStyles * $XxxxStyles (Xxxx correspondant au différent Média possible pour des CSS) Attention, le groupement de ressources est actif uniquement en mode StripSpaces. ==== Compatibilté ==== Cette fonctionnalité ne modife en aucun cas le fonctionnement des précédentes versions. La variable $head reste disponible et son contenu est inchangé. ==== Performances ==== Par exemple, la page de démo du widget [[http://demo.pxxo.net/widgets/demos/tester/Pxxo_Widgets_HelloWorld/|HelloWorld]] possèdent 5 fichiers CSS, il faut environ (et en moyenne) 1 seconde pour charger ces fichiers. Avec le groupement de CSS, il n'y a plus qu'un seul fichier, et il faut environ 250ms pour le charger. CQFD :-) ==== Exemple ==== Voici un exemple de template pour un widget qui termine une page. Exemple ...