1) se il tuo host ha php 5.x, ti consiglio di cambiare sintassi abbandonando la vecchia struttura delle classi che hai utilizzato tu (prorpia del php 4)
2) è normale che non funzioni, nell'ultimo pezzo di codice da te presentato semplicemente stai inserendo due volte un valore allo stesso indice di un array:
Codice PHP:
$phpHtml->columContent[3]['value'] = "test 1";
...
$phpHtml->columContent[3]['value'] = "test 2";
Scrivendo cosi come hai fatto tu stai dicendo a php "metti test 1 nell'array e dopo sovrascrivilo con test 2". E' assolutamente corretto.
Al limite dovresti utilizzare, se vuoi usare indici sequenziali, una sintassi del genere:
Codice PHP:
$phpHtml->columContent[] = array("value"=>"test 1");
$phpHtml->columContent[] = array("value"=>"test 2");
oppure usando la magic function __set con php 5 per "reinvetarti" la funzione di set della tua classe.
Gabriele