Je suis en train de faire un intranet pour lequel il m'a semblé utile de
créer une classe (et oui, je me lance dans la POO) et je voulais faire
une petite partie documentation pour les différents développeurs.
Dans cette partie,, je voulais bien entendu mettre les informations sur
ma classe, qui en fait se présente ainsi:
<?
class client {
/* quelques méthodes */
/* et quelques propriétés renvoyées */
}
class client_disp extends client{
/* des méthodes qui renvoit des infos de mise en page */
}
class client_criteres extends client {
/* des methodes pour des infos particulières */
/* lecture et enregistrement */
}
?>
Je cherche maintenant à faire un script qui me permettrait de générer
dynamiquement une page d'information sur la classe.
J'arrive aisémment à récupérer les méthodes avec:
<?
$class_methods = get_class_methods(get_class($my_test));
echo "--- Methods ---<br>\n";
foreach($class_methods as $method_name) {
echo "$method_name<br>\n";
}
?>
$my_test est un objet instancié, par exemple $my_test = New $client();
Par contre, impossible de récupérer les propriétés de $my_test:
get_class_vars(get_class($my_test)) me renvoit "number : "
et get_object_vars($my_test) me renvoit "Array ( [number] => )"
Quelqu'un aurait-il des pistes, des idées?
Merci d'avance...
CrazyCat, qui n'aime pas faire des docs
--
Humour: http://www.chatfou.com
Tchattez en liberté: http://www.c-p-f.net
Tout sur les eggdrops: http://www.c-p-f.org
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
bruno modulix
CrazyCat wrote:
Je suis en train de faire un intranet pour lequel il m'a semblé utile de créer une classe (et oui, je me lance dans la POO) et je voulais faire une petite partie documentation pour les différents développeurs.
(snip)
Je cherche maintenant à faire un script qui me permettrait de générer dynamiquement une page d'information sur la classe.
(snip)
Quelqu'un aurait-il des pistes, des idées?
Il existe des outils de type Javadoc pour PHP, ce serait peut-être plus simple que de réinventer la roue ?
-- bruno desthuilliers ruby -e "print ''.split('@').collect{|p| p.split('.').collect{|w| w.reverse}.join('.')}.join('@')" --
CrazyCat wrote:
Je suis en train de faire un intranet pour lequel il m'a semblé utile de
créer une classe (et oui, je me lance dans la POO) et je voulais faire
une petite partie documentation pour les différents développeurs.
(snip)
Je cherche maintenant à faire un script qui me permettrait de générer
dynamiquement une page d'information sur la classe.
(snip)
Quelqu'un aurait-il des pistes, des idées?
Il existe des outils de type Javadoc pour PHP, ce serait peut-être plus
simple que de réinventer la roue ?
--
bruno desthuilliers
ruby -e "print 'onurb@xiludom.gro'.split('@').collect{|p|
p.split('.').collect{|w| w.reverse}.join('.')}.join('@')"
--
Je suis en train de faire un intranet pour lequel il m'a semblé utile de créer une classe (et oui, je me lance dans la POO) et je voulais faire une petite partie documentation pour les différents développeurs.
(snip)
Je cherche maintenant à faire un script qui me permettrait de générer dynamiquement une page d'information sur la classe.
(snip)
Quelqu'un aurait-il des pistes, des idées?
Il existe des outils de type Javadoc pour PHP, ce serait peut-être plus simple que de réinventer la roue ?
-- bruno desthuilliers ruby -e "print ''.split('@').collect{|p| p.split('.').collect{|w| w.reverse}.join('.')}.join('@')" --
Marc
Il existe des outils de type Javadoc pour PHP, ce serait peut-être plus simple que de réinventer la roue ?
je crois qu'il s'agit d'obtenir dynamiquement des informations sur les classes et ses attributs. On appelle cela l'introspection.
Pour ma part j'ai réalisé ce script, il me semble qu'avec ceci, il devrait y avoir matiere a travailler ; il semble que toutes les informations nécessaire a l'introspection des classes soient présentes, a part peut-etre le type. Le langage etant assez peu typé, ca devrait passer.
La référence concernant l'introspection est ici :
http://fr.php.net/manual/en/ref.classobj.php
Voici le code et le résultats avec php4 et 5.
* Je crée tout d'abord une classe d'introspection avec les methodes pour retrouver attributs et methodes. * puis 2 classes sur lequelles je vais appliquer l'introspection : ** Point ** Line * a la fin j'affiche le tout dans un petit programme de test, en php4 et 5. Il n'y a pas de différence notable. * je n'ai pas parcouru l'ensemble des methodes d'introspection. get_class_vars() <=> get_object_vars()
<?php
class PhpIntrospection { function attributes(){ return get_class_vars($this->class_name()); }
function methods(){ return get_class_methods($this->class_name()); }
function class_name(){ return get_class($this); }
}
class Point extends PhpIntrospection{ var $x; var $y;
Il existe des outils de type Javadoc pour PHP, ce serait peut-être plus
simple que de réinventer la roue ?
je crois qu'il s'agit d'obtenir dynamiquement des informations sur les classes
et ses attributs. On appelle cela l'introspection.
Pour ma part j'ai réalisé ce script, il me semble qu'avec ceci, il devrait y
avoir matiere a travailler ; il semble que toutes les informations nécessaire
a l'introspection des classes soient présentes, a part peut-etre le type.
Le langage etant assez peu typé, ca devrait passer.
La référence concernant l'introspection est ici :
http://fr.php.net/manual/en/ref.classobj.php
Voici le code et le résultats avec php4 et 5.
* Je crée tout d'abord une classe d'introspection avec les methodes
pour retrouver attributs et methodes.
* puis 2 classes sur lequelles je vais appliquer l'introspection :
** Point
** Line
* a la fin j'affiche le tout dans un petit programme de test,
en php4 et 5. Il n'y a pas de différence notable.
* je n'ai pas parcouru l'ensemble des methodes d'introspection.
get_class_vars() <=> get_object_vars()
<?php
class PhpIntrospection {
function attributes(){
return get_class_vars($this->class_name());
}
function methods(){
return get_class_methods($this->class_name());
}
function class_name(){
return get_class($this);
}
}
class Point extends PhpIntrospection{
var $x;
var $y;
Il existe des outils de type Javadoc pour PHP, ce serait peut-être plus simple que de réinventer la roue ?
je crois qu'il s'agit d'obtenir dynamiquement des informations sur les classes et ses attributs. On appelle cela l'introspection.
Pour ma part j'ai réalisé ce script, il me semble qu'avec ceci, il devrait y avoir matiere a travailler ; il semble que toutes les informations nécessaire a l'introspection des classes soient présentes, a part peut-etre le type. Le langage etant assez peu typé, ca devrait passer.
La référence concernant l'introspection est ici :
http://fr.php.net/manual/en/ref.classobj.php
Voici le code et le résultats avec php4 et 5.
* Je crée tout d'abord une classe d'introspection avec les methodes pour retrouver attributs et methodes. * puis 2 classes sur lequelles je vais appliquer l'introspection : ** Point ** Line * a la fin j'affiche le tout dans un petit programme de test, en php4 et 5. Il n'y a pas de différence notable. * je n'ai pas parcouru l'ensemble des methodes d'introspection. get_class_vars() <=> get_object_vars()
<?php
class PhpIntrospection { function attributes(){ return get_class_vars($this->class_name()); }
function methods(){ return get_class_methods($this->class_name()); }
function class_name(){ return get_class($this); }
}
class Point extends PhpIntrospection{ var $x; var $y;