====== Pxxo_Config ======
''Pxxo_Config'' est une classe qui regroupe des paramètres globaux à toute l'application. L'utilisateur peut définir ses propres paramètres mais peut aussi redéfinir de nombreux paramètres génériques. Cette classe remplace avantageusement les définitions de constantes.
Vous pouvez consulter un [[http://groups.google.com/group/pxxo/browse_thread/thread/bf92ca7cb1d303cb|sujet de présentation de Pxxo_Config]] sur la liste de diffusion.
===== Paramètres : =====
Voici une liste des principaux paramètres génériques de ''Pxxo_Config'' :
| path | AUTO | Chemin physique de la racine de l'application |
| name | AUTO | Nom physique (au sens UNIX) de l'application |
| language | AUTO | Langue par défaut de l'application |
| temp_path | AUTO | Répertoire temporaire |
| class_path | - | Liste des chemins (genre include_path) pour trouver les classes Pxxo |
| cache_path | AUTO | Chemin Physique vers le répertoire de cache |
| cache_level | - | Niveau du cache. 0 désactivé, etc... |
| debug_level | 0 | Niveau de debug ( 0 désactivé, 1 : code HTML non "compressé et report de toutes les erreurs PHP, 2 : active la trace pxxo, 3 : active le profiler) |
| session_flag | false | Le mode Session est-il activé ? (true/false) |
| session_auto | false | Les sessions sont-elle activées automatiquement ? (true/false) |
| theme_name | - | Nom du thème par défaut pour tout les widgets |
| theme_path | - | Liste des chemins d'accès aux thèmes (séparés par le caractère ":")|
| templates_path | - | Chemin physique du répertoire contenant les templates (html) et leurs fichiers associés (js, css, images, etc...) |
| resources_path | AUTO | chemin vers un répertoire physique où seront générées les ressources |
| resources_url | AUTO | url correspondant au répertoire physique des ressources |
| url_host | AUTO | l'URL du serveur de l'application sans le chemin et l'éventuel script terminal. Exemple: "http://localhost" |
| url_root | / | Chemin dans l'URL vers la racine de l'application. Exemple : "/monapplication" |
| url_base | AUTO | URL complète vers la racine de l'application (concaténation de url_host et url_root). Exemple : "http://localhost/monapplication" |
| url_script | AUTO | Nom du script pointant vers le point d'entrée de l'application. Exemple : "article3.php" |
| url_query | AUTO | Paramètre GET du point d'entrée de l'application. (contiendra une chaîne si ''url_query_filter'' est vide)\\ Exemple : "action=monaction¶m=bidon" |
| url_query_filter | - | Filtre appliqué sur ''url_query'' permettant de ne conserver que les paramètres du point d'entrée de l'application. Exemple : si les paramètres de l'url sont "action=home&article=1&monparam=bidon" et que ''url_query_filter'' vaut "/^(action|article)/" (c'est une expression régulière), les paramètres conservés dans ''url_query'' seront "action=home&article=1". Par défaut, on ne laisse passer aucun paramètre dans l'url. |
| url | AUTO | URL complète du point d'entrée de l'application (concaténation de ''url_base'' et ''url_script'' et ''url_query''). Exemple: "http://localhost/monapplication/article3.php?action=monaction¶m=bidon" |
===== Exemple =====
require_once 'Pxxo/Config.php';
$config = new Pxxo_Config();
$config->register();
var_dump($config);
Affichera
public 'path' => string /var/www/apps/skel/' (length=34)
public 'name' => string 'skel' (length=4)
public 'language' => string 'fr' (length=2)
public 'url_host' => string 'http://localhost:9002' (length=21)
public 'url_root' => string '/skel' (length=5)
public 'url_base' => string 'http://localhost:9002/skel' (length=26)
public 'url_script' => string 'index.php' (length=9)
public 'url_query' => string '' (length=0)
public 'url_query_filter' => null
public 'url' => string 'http://localhost:9002/skel/index.php' (length=36)
public 'temp_path' => string /var/www/apps/skel/tmp/' (length=38)
public 'cache_flag' => null
public 'cache_path' => string /var/www/apps/skel/tmp/' (length=38)
public 'cache_level' => null
public 'debug_level' => int 0
public 'session_flag' => boolean true
public 'session_path' => string /var/www/apps/skel/tmp/' (length=38)
public 'session_auto' => boolean false
public 'theme_name' => string '' (length=0)
public 'theme_path' => string '' (length=0)
public 'templates_path' => string /var/www/apps/skel/templates/' (length=44)
public 'resources_path' => string /var/www/apps/skel/rsc/' (length=38)
public 'resources_url' => string '/skel/rsc' (length=9)
public 'error_log_type' => null
public 'error_log_destination' => null
public 'error_log_extras' => null
public 'locale' =>
object(Zend_Locale)[3]
private '_Locale' => string 'fr' (length=2)
private '_Codeset' => null