Perfetto, gentilissimi.
Sinceramente mi piace molto di piś l'idea di evitare dove possibile l'invio di parametri tipo stringhe o integer, mi sembra piś flessibile, il dubbio era che ci fossero delle 'controindicazioni'.
Per fare un esempi concreto, mettiamo che voglia inserire i dati dell'oggetto in un db, qualcosa di simile
Codice PHP:
$p = new Persona;
$p->nome 'nome';
$p->cognome 'cognome';
$p->insertToDb(); 
Mi sembra piś flessibile che mandare parametri tipo $p->insertTodb($nome,$cognome).
Ovviamente é giusto il concetto della validazione dei dati, per cui invece di proprietį pubbliche si potrebbero creare metodi pubblici che settano proprietį private.
Altro dubbio, usare i metodo magici __set e __get come pubblici con proprietį private, non é la stessa cosa che avere proprietį pubbliche, con l'unica differenza che i controlli sui dati li fai solo dentro il metodo __set?