====== 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
...