Le 31 mars 2008, Pxxo 5.1

Cette version vise principalement à améliorer les performances des versions précédentes grâce notamment à la notion de cache. Cette notion est très importante car cela permet de “compiler” ses widgets, de minimiser les traitements du serveur et les traitements du navigateur.

Les gains de vitesse sont IMPRESSIONNANTS. Plusieurs tests montrent une augmentation de 50% du nombre de widget créés/exécutés par seconde.

Stockage du Cache

Le stockage du cache se fait soit sur disque soit en mémoire partagée. Le choix du type de stockage est fait automatiquement en fonction de la présence du module APC dans PHP.

Type de Cache

Il existe plusieurs types de cache dans Pxxo chacun de ces types est défini par plusieurs constantes :

Constantes Description
P_C_BASIC Évite à Pxxo de deviner systématiquement certaines informations (par ex : nom de fichiers ou de répertoire)
P_C_TEMPLATE
P_C_RESOURCE Évite à Pxxo de créer systématiquement des fichiers de ressources pré existant
P_C_XSLT Évite à Pxxo de refaire des transformations XML/XSL déjà réalisées
P_C_WIDGET Évite à Pxxo de réexécuter un widget complet
P_C_USER
P_C_WIDGET2 Évite à Pxxo de réexécuter un widget complet (variante)
P_C_HTTP Évite au navigateur de réinterpréter du contenu qui n'a pas changé

Par défaut le type de cache est le suivant :

P_C_BASIC | P_C_RESOURCE | P_C_TEMPLATE | P_C_USER

On peut modifier ce réglage avec la méthode setCacheLevel. Exemple :

 
$this->setCacheLevel(P_C_BASIC | P_C_RESOURCE | P_C_TEMPLATE | P_C_USER | P_C_HTTP);
 

Cache XSL

La classe Pxxo_Xslt utilise automatiquement l'extension xslcache si celle-ci est chargée dans PHP.

Session dans Pxxo

Maintenant Pxxo ne démarre plus automatiquement une session PHP. La session est démarrée automatiquement par Pxxo si on utilise des fonctions qui en ont besoin (ex: getPersistentVar).

Pour démarrer une session manuellement dans un widget on pourra utiliser la méthode checkSession

Quelques réglages ont également été fait pour rendre la gestion de sessions plus “standard”.

Entêtes HTTP

Pxxo gère au travers d'un nouveau objet Pxxo_Response les entêtes HTTP envoyées au navigateur.

Cet objet est directement utilisable dans les widgets au travers de l'attribut $this→Response

Zend Framework

Le ZendFramework n'est plus intégré au package de Pxxo, il est maintenant dans un package PEAR séparé. Un lien de dépendance permet de l'installer automatiquement. Au passage on passe à la version 1.0.4.

La méthode dumphead

La méthode dumphead de Pxxo_Widget prenait en argument un paramètre $return (true ou false). Ce paramètre est supprimé, il est avantageusement remplacé par la nouvelle méthode gethead qui retournera par défaut une chaîne de caractère constituant les entêtes HTML du widget.

Par ailleurs, cette méthode gethead accepte un argument $type qui peut prendre deux valeurs : html (sa valeur par défaut) et array qui permet de retourner un tableau php décrivant les ressources CSS/JS du widget.

PHP5 : utilisation du typage d'objet implicite

PHP5 permet de faire du typage d'objet implicite. Pxxo l'utilisera progressivement dans ces différentes méthodes lorsque c'est possible et surtout lorsque c'est nécessaire. Pour le développeur c'est un confort supplémentaire car des messages d'erreur compréhensibles seront générés automatiquement lorsqu'une méthode est appelée avec des arguments d'un mauvais type.

Dans cette version, la méthode putWidget l'utilise sur son second argument qui doit être de type Pxxo_Widget.

fr/release/5.1.txt · Dernière modification: 2008/03/31 22:30 par 86.67.229.171
 
 
Recent changes RSS feed Valid XHTML 1.0 Valid CSS Powered by PHP Driven by DokuWiki
©2003-2008 Pxxo