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', '<b>super</b>'); 
$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 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.

 
<html>
    <head>
        <title>Exemple</title>
        <?php if (isset($ScreenStyles) and !empty($ScreenStyles)) {  /?>
        <link rel="stylesheet" href="<?php echo $ScreenStyles ?>" type="text/css" media="screen" />
        <?php } if (isset($Scripts) and !empty($Scripts)) {  / ?>
        <script type="text/javascript" src="<?php echo $Scripts ?>">
       </script>
    </head>
    <body> ... </body>
</html>
 
 
fr/release/4.2.txt · Dernière modification: 2008/03/17 15:20 par 193.54.109.8
 
 
Recent changes RSS feed Valid XHTML 1.0 Valid CSS Powered by PHP Driven by DokuWiki
©2003-2008 Pxxo