Stai usando php4?
Comunque...
all'interno delle funzioni della classe devi utilizzare il magico $this per 'utilizzare' le proprietà di classe.
Codice PHP:
public function __construct($owner, $db_name, $db_url, $db_password, $db_user)
{
$this->list_conversation = array('cippa','lippa');
//...
}
public function printArray()
{
print_r($this->list_conversation);
// ...
}
Il $this fa si che quando viene invocata la funzione printArray o __construct che sia, vengano utilizzate le proprietà (in questio caso $list_conversation) che appartengono all'oggetto che ha chiamato il metodo! (nel tuo caso $cl).
Quindi quando tu fai
Codice PHP:
$cl = new ContactList(1, $db_name, $db_url, $db_password, $db_user);
costruisci l'oggetto di tipo ConctatList, e le sue proprietà (grazie a $this) vangono settate grazie ai parametri che tu passi alla funzione.
Quando poi chiami printArray() vengono stampate le sue (grazie a $this) proprietà.
Tu prima invece dentro __construct definivi delle normali variabili, il cui scopo era la funzione, quindi se cercavi di stamparle da li tutto ok, se verchi di stamparle fuori da li le variabili sono vuote perchè non definite!!
Quindi se vuoi istanziare la classe quella è la strada da seguire, altrimenti puoi utilizzare metodi e proprietà statici, ma quewsto è un'altro discorso.
Ti consiglio comunque di ridarti una lettura ai principi del' OOP.
Ciao!