Cuando son objetes que reflejas tablas de la db, utilizo el siguiente sistema:
Código PHP:
$obj_cliente = NewClassTable("cliente",$id);
function NewClassTable($pTable,$pId='',$pFiltre="",$pConnection="default"){
if(!class_exists($pTable)){
$exec="
class $pTable extends ClsCRUD {
function __construct(\$carregaId='',\$filtre='',\$pConnection='default'){
\$this->taula='$pTable';
\$this->IniVars(\$carregaId,\$filtre,\$pConnection);
}
}
";
eval($exec);
}
$newclass=new $pTable($pId,$pFiltre,$pConnection);
return $newclass;
}
La clsCRUD se encarga de leer la estructura de la db, montarme las propiedades(campos), las clases asociadas y los metodos CRUD de la db. Y definiendo una sola clase, tengo todo el acceso a db solucionado. Modfificando clsCRUD, lo implemento a todas las otras clases (clientes, articulos,noticias..) las cuales además, se crean, como en el ejemplo, sobre la marcha.
Sin duda, objetos al poder!