feedback

Lister les constantes et fonctions disponibles

Par défaut, Concrete5 paramètres un flot de constantes utilisabls pour créez un thème, un bloc, ou n'importe quelle autre extension. La plupart ne sont pas obligatoirement utiles, elles sont utilisées par le noyau de Concrete5. D'autres sont quant à elles nécessaires, et le reste vous donne un aperçu de quelques aspects internes de Concrete5. Il y à également beaucoup de fonctions parmi lesquelles certaines sont très pratiques lorsque vous travailler sur un thème.

Lister les constantes disponibles

Editer une page type de votre choix, prenons par exemple la page full.php

Repérer le bloc php suivant:

<?php
$b = new Area('Main');
$b->display($c);
?>

Avant la fermeture de la balise PHP ?>, insérez quelques nouvelles lignes de code, comme suit :

<?php
$b = new Area('Main');
$b->display($c);
echo '<xmp>';
print_r(get_defined_constants(true));
echo '</xmp>';
?>

Ouvrez une page dont la propriété graphique est définie sur Full.

La sortie contiendra une liste énorme de constantes catégorisées par modules.

A la fin il y a une catégorie nommée user. Se sont les constantes qui ne viennent pas du PHP en lui-même mais plutôt de Concrete5. Jetez-y un oeil, vous y trouverez beaucoup de constantes relatives aux répertoires et URLs. Elles pourraient être utiles un jour.

Lister les fonctions disponibles

Comme avec la plupart des classes, vous avez souvent besoins d'appeler une méthode pour obtenir les valeurs et non directement accéder aux propriétés.

Cette méthode effectuant des vérifications supplémentaires que vous auriez perdues avec un accès direct aux propriétés.

Pour avoir une liste de toutes les méthodes disponibles sans avoir à lire le code, ajoutez simplement le code suivant là où vous désirez obtenir plus d'informations.

Mettons le dans full.php à nouveau comme pour les constantes :

<?php
$b = new Area('Main');
$b->display($c);
echo '<xmp>';
$reflection = new ReflectionClass($this);
print_r($reflection->getMethods());
echo '</xmp>';
?>

Cela va afficher une longue liste dans laquelle vous trouverez toutes les méthodes disponibles à côté de la propriété nommée name :

  1. Array
  2. (
  3. [0] =>ReflectionMethod Object
  4. (
  5. [name] =>getInstance
  6. [class] => View
  7. )
  8. [1] =>ReflectionMethod Object
  9. (
  10. [name] =>getThemeFromPath
  11. [class] => View
  12. )

Conclusion

Le premier exemple pourra vous aider à obtenir ds informations afférentes aux constantes utilisées.

Le deuxième exemple permet d'afficher toutes les méthodes du contexte actuel, vous permettant ainsi à découvrir les méthodes disponibles.


Vous n'aurez pas une belle explication concernant ces constantes ou méthodes, mais vous saurez lesquelles sont disponibles, vous aidant ainsi à vous assurez que vous soyez sur la bonne voie.