Surcharger une classe permet d'utiliser plusieurs variables ou attributs des classes parents. La classe Pxxo_Widget fournit plusieurs variables que l'on peut séparer en 3 groupes :
Les variables suivantes permettent de régler le comportement du widget.
| Nom | Valeur par défaut | Description |
|---|---|---|
| PersistentMode | false | L'objet reste dans le même mode tant que l'on n'en change pas volontairement |
| MinifyLevel | null | Niveau de filtre appliqué sur la sortie se définit en combinant ces 3 constantes : P_M_COMBINE (regroupement des ressources css et js), P_M_OUTPUT (compressions du xhtml) , P_M_RESOURCE (compressions des ressources css et js). La valeur par défaut null signifie que l'on utilise la valeur définie par son parent et dans le cas où le widget n'a pas de parent alors null signifie P_M_COMBINE. |
| StandaloneMode | false | Les données envoyées par le widget correspondent uniquement au template du mode courant |
| DebugMode | false | Active ou non l'affichage de traces pour suivre l'exécution de l'objet |
| CacheMode | false | Active ou non la mise en cache des ressources de l'objet |
| HiddenMode | false | L'identifiant unique de l'instance de l'objet sera crypté |
| LoadingMode | true | Active ou non le chargement automatique et intuitif des ressources |
| OutputMode | html | Type de sortie généré par le widget |
| jQueryMode | false | Active ou non l'usage de jQuery |
| PrependVar | false | L'accès aux variables extérieures à l'objet se fera en ajoutant un préfixe au nom de ces variables. Ce préfixe est l'identifiant unique de l'instance de la classe (le ClassID) |
| ExplicitMode | false | La propagation des variables de classes au template est automatique lorsque ExplicitMode est à false. Dans le cas contraire, il faut indiquer explicitement quelles sont les variables à envoyer au template en utilisant la variable de classe $this->View. Il est fortement encouragé de positionner cette variable à true pour les futurs développements. |
Les variables suivantes permettent de paramétrer l'objet suivant son contexte d'utilisation
| Nom | par défaut | Description |
|---|---|---|
| Lang | null | Identifiant de la langue d'affichage |
| Theme | - | Nom du thème d'affichage choisi |
| ThemePaths | - | Emplacement des répertoires contenant les différents thèmes graphique de l'objet |
| CachePath | - | Emplacement de stockage du cache |
| ResourcePath | - | Emplacement de stockage des ressources générées |
| ResourceURL | - | URL d'accès à ResourcePath |
| ClassID | - | Identifient unique du widget dans la page |
| Nom | par défaut | Description |
|---|---|---|
| ClassName | null | Nom de la classe, plusieurs instances du même objet on le même nom |
| ClassID | null | Identifiant unique de l'instance de la classe |
| Parent | null | Pointeur vers le widget ayant éventuellement créé l'objet |
| State | false | Etat courant dans lequel se trouve l'objet |
| Return | - | Variable contenant le résultat produit par l'objet |
| CurrentMode | - | Indique le mode en cours de traitement |
| PreviousMode | - | Indique le mode précédemment exécuté |
| ModeChanged | - | Indique si le mode courant est différent du dernier mode exécuter |
| ModeSelected | - | Indique si le mode courant vient d'être sélectionner volontairement |
| Headers | - | Liste des buffers destinés à produire l'entête du widget et de ses fils |
| Resources | - | Liste des buffers destinés à produire les ressources du widget et de ses fils |
| Components | - | Liste de tous les widgets fils du widget |
| Response | - | Gestion de l'entête HTTP |
| Nom | par défaut | Description |
|---|---|---|
| Registry | objet | Pointeur vers une instance de la classe Pxxo_Registry |
La "Pxxo_Registry" est un lieu de stockage de données partagées et communes à tous les widgets d'une page. Chaque widget peut l'utiliser et y stocker les informations qu'il souhaite. Il peut également y consulter plusieurs variables prédéfinies.