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
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));
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
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);
Les ressources de type CSS ou Javascript, sont regroupées en un seul fichier. Cela permet d'améliorer nettement les performances.
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 :
Attention, le groupement de ressources est actif uniquement en mode StripSpaces.
Cette fonctionnalité ne modife en aucun cas le fonctionnement des précédentes versions. La variable $head reste disponible et son contenu est inchangé.
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
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>