Je croyais avoir pigé... FILS - PARENT
J'introduis un niveau intermédiaire et passe de PETIT-FILS à GRAND-PERE et là, je décroche...
Le petit-fils
Le père...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 class html { private $class_tbdesigner; private $class_td; private $class_tr; private $class_table; private $debug; /** * __constructor * */ function __construct($css,$debug=False) { print("__construct[html]". CRLF) ;
Le grand-père....
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 class cells extends html{ /** * __constructor * */ function __contruct($css,$debug=FALSE) { parent::__construct($css,$debug) ; print("__construct[cells]" . CRLF) ; }
Ce qui affiche à l'écran
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 */ class tableDesigner extends cells{ private $data, $rowCnt, $colCnt; function __construct( $colCnt, $css = array(), $debug=FALSE ) { $this->rowCnt = 0 ; $this->colCnt = $colCnt ; $this->data = NULL ; parent::__construct($css,$debug) ; print("__construct[tabledesigner]". CRLF) ; }
Sans passer par la classe Cells comme attendu...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 __construct[html] __construct[tabledesigner] ...
J'ai encore raté une marche !
J'ai donc introduit le concept de cells comme ci-dessous:
Ce qui me donne comme message PHP!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 $tb = new tableDesigner( 4, $css ); $tb->addRow( array( new cells("<img src=\"image/new.gif\" border=0 alt=\"NEW1\" title=\"NEW1\" />") /* , "Row1 Col1" , "Row1 Col2" , "Row1 Col3" */ ) ) ; /*
La ligne 61 est en gras
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 [23-Aug-2012 19:09:37] PHP Catchable fatal error: Object of class cells could not be converted to string in F:\WebSites\skelt\class\tableDesigner.php on line 61 [23-Aug-2012 19:09:37] PHP Stack trace: [23-Aug-2012 19:09:37] PHP 1. {main}() F:\WebSites\skelt\index.php:0 [23-Aug-2012 19:09:37] PHP 2. tableDesigner->printTable() F:\WebSites\skelt\index.php:53
Je comprends d'autant moins que la méthode getClassTag qui - je suppose - force l'erreur PHP est déjà utilisée 2 lignes + haut...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 function printTable($return=FALSE) { $tb = "<table".$this->getClassTag("table").">\n"; foreach ($this->data as $key => $value) { $tb .= "<tr".$this->getClassTag("tr").">\n"; foreach($value as $css => $cssvalue) { ==>61 $tb .= "<td".$this->getClassTag("td").">".$cssvalue."</td>\n";
Où celle-ci se trouve ratée ?
Un p'tit coup de main, svp
Ou ai-je encore tout inversé ?
Je sais que Cells n'a aucune méthode pour le moment mais j'ose croire que ce n'est la raison, PHP passe d'abord pas le __construct avant celles-ci..
Merci à vous tous...
Partager