Bizzare vous avec dit bizarre....
Voici le constructeur :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| class myException extends Skeleton
{ private $debug ;
public static $myExcept ;
/**
* Exception: Constructor
*
*/
public function __construct( $debug=false )
{ if (!self::$myExcept)
self::$myExcept = $this ;
var_dump(self::$myExcept) ;
$this->debug = $debug ;
if ($this->debug)
print("===> Exception Instanciated" . CRLF) ;
return(self::$myExcept) ;
} |
et voici ton var_dump:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| object(myException)[3]
private 'debug' => null
private 'PTR_session' (Skeleton) => null
private 'debug' (Skeleton) => null
private 'message' (Skeleton) => null
private 'TBL_screen' (Skeleton) => null
private 'screen' (Skeleton) => null
private 'title' (Skeleton) => null
private 'subtitle' (Skeleton) => null
private 'form' (Skeleton) => null
private 'submenu' (Skeleton) => null
private 'klimsg' (Skeleton) => null
private 'mustmber' (Skeleton) => null
private 'site' (Skeleton) => null |
Toutes ces variables, je les connais, celle en gras font partie de la définition d'un écran.... mais je ne vois pas la variable self::$myExcept
Puis-je poser une question ?
C quoi le 3 dans object(myException)[3] ?
Merci @ de suite
J'en ai encor eune autre de la sorte....$
Les voix de l'informatique peuvent parfois rester impénétrable jusqu'au moment ou qlqu'un vous apporte un sonothone ou un porte-voix....
Voici un autre cas; j'initialise ma page ici, note la variable debug, c'est elle qui au centre de la polémique....
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| /**
* Exécution: chaque oage aura ce même style d'instruction
*
*/
$obj = new setScreen($debug=false) ;
$obj->__setParam(SCREEN , "index" ) ;
$obj->__setParam(TITLE , "Bienvenue sur le site de " . $site . "!" ) ;
$obj->__setParam(SUBTITLE , "Les non-membres dsireux de nous contacter sont pris de le faire" ) ;
$obj->__setParam(FORM , "index" ) ;
$obj->__setParam(MENU , "index" ) ;
$obj->__setParam(SUBMENU , "index" ) ;
$obj->__setParam(KLIMSG ," Bienvenue sur le site de " . $site . "!" ) ;
$obj->__setParam(MUSTMBER , 0 ) ;
$obj->execute() ;
?> |
L'exécution après qlques manipulations nous amène ici:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
|
/**
* Constructor
*
*/
function __construct($debug=false)
{ $this->debug = $debug ;
if ($this->debug)
print("+++++++++++construct[setScreen] starting" . CRLF) ;
$this->Max = count($this->const) ;
try {
if ($this->debug)
print("+++++++++++construct[setScreen] started" . CRLF) ;
bla bla bla....
===========
/**
* End of Iterator methods
*
*/
function execute()
{ if ($this->debug)
print("+++++++++++executing[setScreen] started" . CRLF) ;
if ($this->debug)
{ foreach ($this->valid as $key => $value)
{ printf("%10s %18s %10s %10s %10s", "Key[" .$key ."]" ,
" => Value[" .$value[NAME] ."]" ,
" ==> Must[" .$value[MUST] ."]" ,
" ==> Set[" .$value[SET] ."]" ,
" ==> Value[".$value[INIT] ."]". CRLF) ;
}
}
bla bla bla....
===========
/**
* Si Ok, on appelle le skeleton
*
*/
{ if ($this->debug)
{ print("Going to Skeleton ......" . CRLF) ;
user_error("Going to Skeleton...." , E_USER_NOTICE) ;
// print_r($this->TBL_screen) ; echo CRLF ;
}
$this->MasterInst = Skeleton::getInstance( false /* No session */ , $this->TBL_screen, $debug=FALSE ) ;
$this->MasterInst->execute() ;
}
} |
Note les lignes soulignées qui dépendent toutes de $this->debug, tu vas les retrouver ici !
Et pourtant voici ce que m'affiche l'exécution:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
| +++++++++++construct[setScreen] starting
+++++++++++construct[setScreen] started
+++++++++++executing[setScreen] started
Key[0] => Value[SCREEN] ==> Must[1] ==> Set[1] ==> Value[disconnect]
Key[1] => Value[TITLE] ==> Must[1] ==> Set[1] ==> Value[Vous allez vous déconnecter de [Jecrapahute], @bientôt]
Key[2] => Value[SUBTITLE] ==> Must[] ==> Set[1] ==> Value[Les non-membres désireux de nous contacter sont priés de le faire]
Key[3] => Value[FORM] ==> Must[1] ==> Set[1] ==> Value[disconnect]
Key[4] => Value[MENU] ==> Must[1] ==> Set[1] ==> Value[index]
Key[5] => Value[SUBMENU] ==> Must[] ==> Set[1] ==> Value[disconnect]
Key[6] => Value[KLIMSG] ==> Must[1] ==> Set[1] ==> Value[Vous allez vous déconnecter de [Jecrapahute], @bientôt]
Key[7] => Value[MUSTMBER] ==> Must[1] ==> Set[1] ==> Value[0]
Key[8] => Value[bottom] ==> Must[] ==> Set[] ==> Value[]
Going to Skeleton ...... |
Je viens de faire l'éxecution sous Eclipse en rajoutant un
Code:
var_dump($debug, $this->debug) ;
Code:
1 2 3 4 5 6
| NULL bool(false)
A jeter son clavier par la fenêtre.... :?:?
Array ( [SCREEN] => index [TITLE] => Bienvenue sur le site de [Jecrapahute]! [SUBTITLE] => Les non-membres d�sireux de nous contacter sont pri�s de le faire [FORM] => index [MENU] => index [SUBMENU] => index [KLIMSG] => Bienvenue sur le site de [Jecrapahute]! [MUSTMBER] => 0 ) Array ( [SCREEN] => index [TITLE] => Bienvenue sur le site de [Jecrapahute]! [SUBTITLE] => Les non-membres d�sireux de nous contacter sont pri�s de le faire [FORM] => index [MENU] => index [SUBMENU] => index [KLIMSG] => Bienvenue sur le site de [Jecrapahute]! [MUSTMBER] => 0 ) |
J'en conclus qu"il a un problème avec la variable $this->debug mais celui-là, je ne l'ai pas encore trouvé !
Merci à celui qui mettre la main dessus :D