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
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 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) ;
	}
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
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) ;
	}
Ce qui affiche à l'écran
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
__construct[html]
__construct[tabledesigner]
...
Sans passer par la classe Cells comme attendu...
J'ai encore raté une marche !

J'ai donc introduit le concept de cells comme ci-dessous:
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"
*/
					) 
			) ;
 /*
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
[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
La ligne 61 est en gras
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";
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...

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...