¿A que os referís con usar eval?
No se si os referís a llamar directamente desde fuera de la clase a las variables así:
echo $noticia->fetch['titulo'];En este caso no necesitas eval, simplemente colocar a $fetch como public, aunque no te lo recomiendo.
En POO existe el principio de
abstracción (busca un poco de información sobre él si quieres), que dice que una clase debe definirse a si misma y debe contener todos los métodos y variables que necesita, y ella misma se modificará y se adaptará, exepto en los casos en que necesita estrictamente pasarle como parametro otra clase o algo similar.
Normalmente lo que se suele hacer es un método Get (como en tu caso, mostrar) y un metodo Set para cada variable.
Tu clase esta bien, aunque se puede mejorar, sobre todo la forma de plantearla.
Normalmente, y como truco, la clase es un sustantivo, las variables son adjetivos, propiedades o cualidades, o almacenadores para guardar algo, y los metodos son las acciones que ese sustantivo puede realizar. Por eso no te aconsejo crear una clase para cada función en la BD como haces. Así acabarás teniendo class consultarTabla, class escribirTabla, class contarTabla... Como ves todas tienen en común el hecho de que son acciones que se hacen en una BD, y como acciones que son, te recomiendo que sean métodos, y no clases. La clase sería la propia base de datos.
Por ejemplo:
class MySQL {
private $con;
private $fetch;
function __construct() { // Aqui conectas con la BD y lo guardas en $con }
public function consultar($tabla, $sentencia = 0) {
// En pseudocodigo:
// Si $sentencia = 0
// Hacer mysql_query("SELECT * FROM ".$tabla, $con);
// Si $sentencia != 0
// Hacer mysql_query("SELECT * FROM ".$tabla." ".$sentencia, $con);
// Guardar resultado en $fetch
}
public function mostrar($que) {
return $this->fetch[$que];
}
public function insertar($queinserto) { // Con esta función insertas en la bd... }
}No se si me explico, son formas diferentes de definir clases. Si la defines como lo estabas haciendo acabarás con muchas clases pequeñitas, y con esto consigues una sola clase mas funcional.
Acuérdate:
- Sustantivos -> Clases
- Adjetivos, propiedades, contenedores -> Variables
- Acciones que puede realizar el sustantivo -> Métodos
Espero haberte ayudado y que me hayas entendido

Saludos!