Ver Mensaje Individual
  #3 (permalink)  
Antiguo 25/04/2010, 13:04
Avatar de maturano
maturano
 
Fecha de Ingreso: enero-2010
Ubicación: /home/
Mensajes: 537
Antigüedad: 14 años, 4 meses
Puntos: 36
Respuesta: Funciones en get y set

- 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 original
  1. class Datos{
  2. private $nombrehostConsultas;
  3.  
  4. //Metodos get y set
  5. function getnombrehostConsultas(){
  6. return $this -> nombrehostConsultas = obtenerDatos(1);
  7. //return obtenerDatos(1);
  8. }
  9. }

A esto (sin mencionar los comentarios):
Código PHP:
Ver original
  1. class Datos
  2. {
  3.     private $_nombreHostConsultas;
  4.  
  5.     public function getNombreHostConsultas()
  6.     {
  7.         // Tu error en concreto está aquí
  8.         $this->_nombreHostConsultas = $this->obtenerDatos(1);
  9.  
  10.         return $this->_nombreHostConsultas;
  11.     }
  12. }
__________________
I ♥ The Music!

Última edición por maturano; 25/04/2010 a las 13:12