Je viens de créer deux classes, et dans mon programme principal, la création
de l'objet Douchette bugue (une fonction __construct a été définie dans ma
classe Douchette, mais on dirait que rien ne se passe). C'est ma première
appli Orientée Objet, si ovus voyez l'erreur, merci de m'aider.
Ci-dessous, l& classe et le programme principal (les deux étant dans des
répertoires différents):
<?
class Douchette {
private $vitesse;
private $bits;
private $stop;
private $parite;
private $fp; //Pointeur DIO
public function __construct($v, $b, $s, $p) {
echo('Configuration de la douchette en cours');
$this->vitesse=$v;
$this->bits=$b;
$this->stop=$s;
$this->parite=$p;
Ci-dessous, l& classe et le programme principal (les deux étant dans des répertoires différents):
tout a l'air OK dans cette belle petite classe, sauf que dio_open() peut retourner des erreurs qui ne sont pas traitées ici.
tu peux aussi mettre un error_reporting(E_ALL) tout en haut du script.
Jeremie Picaude
Jeremie wrote:
Ci-dessous, l& classe et le programme principal (les deux étant dans des répertoires différents):
tout a l'air OK dans cette belle petite classe, sauf que dio_open() peut retourner des erreurs qui ne sont pas traitées ici.
tu peux aussi mettre un error_reporting(E_ALL) tout en haut du script. Je viens de revérifier et tout semble OK en effet, mais à présent le
truc c'est que je reçois des erreurs de timeout, le prog affiche tout ce qu'il aurait du afficher dans un fonctionnement normal, et le script se termine... :- Je ne vois pas d'où ça vient. Ah, aussi, est-ce normal que dans mes méthodes de classe les echo n'apparaissent pas forcément?
Jeremie wrote:
Ci-dessous, l& classe et le programme principal (les deux étant dans des
répertoires différents):
tout a l'air OK dans cette belle petite classe, sauf que dio_open() peut
retourner des erreurs qui ne sont pas traitées ici.
tu peux aussi mettre un error_reporting(E_ALL) tout en haut du script.
Je viens de revérifier et tout semble OK en effet, mais à présent le
truc c'est que je reçois des erreurs de timeout, le prog affiche tout ce
qu'il aurait du afficher dans un fonctionnement normal, et le script se
termine... :- Je ne vois pas d'où ça vient.
Ah, aussi, est-ce normal que dans mes méthodes de classe les echo
n'apparaissent pas forcément?
Ci-dessous, l& classe et le programme principal (les deux étant dans des répertoires différents):
tout a l'air OK dans cette belle petite classe, sauf que dio_open() peut retourner des erreurs qui ne sont pas traitées ici.
tu peux aussi mettre un error_reporting(E_ALL) tout en haut du script. Je viens de revérifier et tout semble OK en effet, mais à présent le
truc c'est que je reçois des erreurs de timeout, le prog affiche tout ce qu'il aurait du afficher dans un fonctionnement normal, et le script se termine... :- Je ne vois pas d'où ça vient. Ah, aussi, est-ce normal que dans mes méthodes de classe les echo n'apparaissent pas forcément?
Marc
Je viens de revérifier et tout semble OK en effet, mais à présent le truc c'est que je reçois des erreurs de timeout, le prog affiche tout ce qu'il aurait du afficher dans un fonctionnement normal, et le script se termine... :- Je ne vois pas d'où ça vient.
moi non plus a part qu'il n'y aurait pas de lecture sur le port. tu devrais ajouter des traces dans ton prog (echo ou print)
Ah, aussi, est-ce normal que dans mes méthodes de classe les echo n'apparaissent pas forcément?
non pas du tout ! un echo ou un print dans une methode n'est rien d'autre qu'un appel de fonction ordinaire. Et une methode n'est rien d'autre qu'une fonction ordinaire avec une vue sur $this->*
Je viens de revérifier et tout semble OK en effet, mais à présent le
truc c'est que je reçois des erreurs de timeout, le prog affiche tout ce
qu'il aurait du afficher dans un fonctionnement normal, et le script se
termine... :- Je ne vois pas d'où ça vient.
moi non plus a part qu'il n'y aurait pas de lecture sur le port.
tu devrais ajouter des traces dans ton prog (echo ou print)
Ah, aussi, est-ce normal que dans mes méthodes de classe les echo
n'apparaissent pas forcément?
non pas du tout ! un echo ou un print dans une methode n'est rien
d'autre qu'un appel de fonction ordinaire. Et une methode n'est rien
d'autre qu'une fonction ordinaire avec une vue sur $this->*
Je viens de revérifier et tout semble OK en effet, mais à présent le truc c'est que je reçois des erreurs de timeout, le prog affiche tout ce qu'il aurait du afficher dans un fonctionnement normal, et le script se termine... :- Je ne vois pas d'où ça vient.
moi non plus a part qu'il n'y aurait pas de lecture sur le port. tu devrais ajouter des traces dans ton prog (echo ou print)
Ah, aussi, est-ce normal que dans mes méthodes de classe les echo n'apparaissent pas forcément?
non pas du tout ! un echo ou un print dans une methode n'est rien d'autre qu'un appel de fonction ordinaire. Et une methode n'est rien d'autre qu'une fonction ordinaire avec une vue sur $this->*
Jeremie
moi non plus a part qu'il n'y aurait pas de lecture sur le port. tu devrais ajouter des traces dans ton prog (echo ou print)
Justement tout s'affiche une fois que le timeout de 30 secondes est passé,
accompagné d'erreurs...
non pas du tout ! un echo ou un print dans une methode n'est rien d'autre qu'un appel de fonction ordinaire. Et une methode n'est rien d'autre qu'une fonction ordinaire avec une vue sur $this->*
Bah a l'intérieur des méthodes de classe ça veut pas. Un pb avec le php5.ii peut être?
moi non plus a part qu'il n'y aurait pas de lecture sur le port.
tu devrais ajouter des traces dans ton prog (echo ou print)
Justement tout s'affiche une fois que le timeout de 30 secondes est passé,
accompagné d'erreurs...
non pas du tout ! un echo ou un print dans une methode n'est rien
d'autre qu'un appel de fonction ordinaire. Et une methode n'est rien
d'autre qu'une fonction ordinaire avec une vue sur $this->*
Bah a l'intérieur des méthodes de classe ça veut pas. Un pb avec le php5.ii
peut être?
moi non plus a part qu'il n'y aurait pas de lecture sur le port. tu devrais ajouter des traces dans ton prog (echo ou print)
Justement tout s'affiche une fois que le timeout de 30 secondes est passé,
accompagné d'erreurs...
non pas du tout ! un echo ou un print dans une methode n'est rien d'autre qu'un appel de fonction ordinaire. Et une methode n'est rien d'autre qu'une fonction ordinaire avec une vue sur $this->*
Bah a l'intérieur des méthodes de classe ça veut pas. Un pb avec le php5.ii peut être?
Marc Quinton
Jeremie wrote:
Justement tout s'affiche une fois que le timeout de 30 secondes est passé, accompagné d'erreurs...
* peut-etre faire un flush() a apres chaque trace. * tu lances le script en version CLI (commande en ligne) ?
Jeremie wrote:
Justement tout s'affiche une fois que le timeout de 30 secondes est passé,
accompagné d'erreurs...
* peut-etre faire un flush() a apres chaque trace.
* tu lances le script en version CLI (commande en ligne) ?
Bah a l'intérieur des méthodes de classe ça veut pas. Un pb avec le php5.ii peut être?
Ou plus probablement l'inclusion d'un fichier classe qui n'est pas la version que tu crois charger...
Marc Quinton
Antoine Polatouche wrote:
Ou plus probablement l'inclusion d'un fichier classe qui n'est pas la version que tu crois charger...
oui, sauf que des classes Douchette, y'en a pas une grande quantité sur les distribution php. Mais l'idée est bonne. En meme temps si tu redefini une classe qui existe deja, tu risques d'avoir un message d'erreur.
Antoine Polatouche wrote:
Ou plus probablement l'inclusion d'un fichier classe qui n'est pas la
version que tu crois charger...
oui, sauf que des classes Douchette, y'en a pas une grande quantité
sur les distribution php. Mais l'idée est bonne. En meme temps
si tu redefini une classe qui existe deja, tu risques d'avoir
un message d'erreur.
Ou plus probablement l'inclusion d'un fichier classe qui n'est pas la version que tu crois charger...
oui, sauf que des classes Douchette, y'en a pas une grande quantité sur les distribution php. Mais l'idée est bonne. En meme temps si tu redefini une classe qui existe deja, tu risques d'avoir un message d'erreur.
Antoine Polatouche
Marc Quinton wrote:
Antoine Polatouche wrote:
Ou plus probablement l'inclusion d'un fichier classe qui n'est pas la version que tu crois charger...
oui, sauf que des classes Douchette, y'en a pas une grande quantité sur les distribution php. Mais l'idée est bonne. En meme temps si tu redefini une classe qui existe deja, tu risques d'avoir un message d'erreur. Ce que je voulais dire, c'est que tu as peut-être plusieurs versions,
plusieurs fichiers à des emplacements différents de *ta* classe, et que ton include n'inclue pas la version que tu crois. Pour vérifier ça, tu ajoute une fonction membre version() et tu l'interroge dans le script qui utilise cette classe... Comme ça au moins tu es sûr de débugger le script que tu as sous les yeux ;-)
Marc Quinton wrote:
Antoine Polatouche wrote:
Ou plus probablement l'inclusion d'un fichier classe qui n'est pas la
version que tu crois charger...
oui, sauf que des classes Douchette, y'en a pas une grande quantité
sur les distribution php. Mais l'idée est bonne. En meme temps
si tu redefini une classe qui existe deja, tu risques d'avoir
un message d'erreur.
Ce que je voulais dire, c'est que tu as peut-être plusieurs versions,
plusieurs fichiers à des emplacements différents de *ta* classe, et que
ton include n'inclue pas la version que tu crois. Pour vérifier ça, tu
ajoute une fonction membre version() et tu l'interroge dans le script
qui utilise cette classe... Comme ça au moins tu es sûr de débugger le
script que tu as sous les yeux ;-)
Ou plus probablement l'inclusion d'un fichier classe qui n'est pas la version que tu crois charger...
oui, sauf que des classes Douchette, y'en a pas une grande quantité sur les distribution php. Mais l'idée est bonne. En meme temps si tu redefini une classe qui existe deja, tu risques d'avoir un message d'erreur. Ce que je voulais dire, c'est que tu as peut-être plusieurs versions,
plusieurs fichiers à des emplacements différents de *ta* classe, et que ton include n'inclue pas la version que tu crois. Pour vérifier ça, tu ajoute une fonction membre version() et tu l'interroge dans le script qui utilise cette classe... Comme ça au moins tu es sûr de débugger le script que tu as sous les yeux ;-)
Jeremie Picaude
Marc Quinton wrote:
Antoine Polatouche wrote:
Ou plus probablement l'inclusion d'un fichier classe qui n'est pas la version que tu crois charger...
oui, sauf que des classes Douchette, y'en a pas une grande quantité sur les distribution php. Mais l'idée est bonne. En meme temps si tu redefini une classe qui existe deja, tu risques d'avoir un message d'erreur.
Ce que je voulais dire, c'est que tu as peut-être plusieurs versions, plusieurs fichiers à des emplacements différents de *ta* classe, et que ton include n'inclue pas la version que tu crois. Pour vérifier ça, tu ajoute une fonction membre version() et tu l'interroge dans le script qui utilise cette classe... Comme ça au moins tu es sûr de débugger le script que tu as sous les yeux ;-) Pourquoi avoir une classe à plusieurs endroits?
Non, chez moi toutes les classes sont dans un répertoire dédié, et une seul classe Douchette existe...
Marc Quinton wrote:
Antoine Polatouche wrote:
Ou plus probablement l'inclusion d'un fichier classe qui n'est pas la
version que tu crois charger...
oui, sauf que des classes Douchette, y'en a pas une grande quantité
sur les distribution php. Mais l'idée est bonne. En meme temps
si tu redefini une classe qui existe deja, tu risques d'avoir
un message d'erreur.
Ce que je voulais dire, c'est que tu as peut-être plusieurs versions,
plusieurs fichiers à des emplacements différents de *ta* classe, et que
ton include n'inclue pas la version que tu crois. Pour vérifier ça, tu
ajoute une fonction membre version() et tu l'interroge dans le script
qui utilise cette classe... Comme ça au moins tu es sûr de débugger le
script que tu as sous les yeux ;-)
Pourquoi avoir une classe à plusieurs endroits?
Non, chez moi toutes les classes sont dans un répertoire dédié, et une
seul classe Douchette existe...
Ou plus probablement l'inclusion d'un fichier classe qui n'est pas la version que tu crois charger...
oui, sauf que des classes Douchette, y'en a pas une grande quantité sur les distribution php. Mais l'idée est bonne. En meme temps si tu redefini une classe qui existe deja, tu risques d'avoir un message d'erreur.
Ce que je voulais dire, c'est que tu as peut-être plusieurs versions, plusieurs fichiers à des emplacements différents de *ta* classe, et que ton include n'inclue pas la version que tu crois. Pour vérifier ça, tu ajoute une fonction membre version() et tu l'interroge dans le script qui utilise cette classe... Comme ça au moins tu es sûr de débugger le script que tu as sous les yeux ;-) Pourquoi avoir une classe à plusieurs endroits?
Non, chez moi toutes les classes sont dans un répertoire dédié, et une seul classe Douchette existe...