- Por favor, cuando coloques código, hazlo con las etiquetas correspondientes para resaltado de sintaxis y así poderlo analizar mejor.
- Haz tu código leíble. Indéntalo adecuadamente realmente es una gran diferencia.
- Lo mismo, coloca el operador de visibilidad a tus métodos, así como con sus propiedades.
- Que mejor si siguieras un estándar de estilización de código (Zend, PEAR son los más populares).
- Tu problema es, como dice el error, querer utilizar una función no definida. Estás dentro de una clase, y ahí defines un método que estará asociado a la instancia del objeto. Nuevamente, así como lo haces con las propiedades, debes utilizar el operador
$this para hacer la referencia al método del propio objeto.
- Por último, no es recomendable hacer la asignación y el retorno de un valor en una misma sentencia, se presta a errores y mal-interpretaciones de lectura de código; ¿regresas el resultado de la asignación o el valor de la variable?.
Todo resumido en que es diferente esto:
Código PHP:
Ver originalclass Datos{
private $nombrehostConsultas;
//Metodos get y set
function getnombrehostConsultas(){
return $this -> nombrehostConsultas = obtenerDatos(1);
//return obtenerDatos(1);
}
}
A esto (sin mencionar los comentarios):
Código PHP:
Ver originalclass Datos
{
private $_nombreHostConsultas;
public function getNombreHostConsultas()
{
// Tu error en concreto está aquí
$this->_nombreHostConsultas = $this->obtenerDatos(1);
return $this->_nombreHostConsultas;
}
}