Foros del Web » Programando para Internet » PHP »

ayuda con una clase

Estas en el tema de ayuda con una clase en el foro de PHP en Foros del Web. buenas amigos del foro tengo problemas con el acceso a los metodos de una clase desde una funcion cualquiera la clase es persona y anda ...
  #1 (permalink)  
Antiguo 08/08/2010, 09:33
 
Fecha de Ingreso: septiembre-2007
Mensajes: 3
Antigüedad: 16 años, 7 meses
Puntos: 1
Exclamación ayuda con una clase

buenas amigos del foro tengo problemas con el acceso a los metodos de una clase desde una funcion cualquiera

la clase es persona y anda perfecto esta testeada

desde un script php defino la funcion __autoload

function __autoload($clase)
{
require_once("../lib/class/".$clase.".class");
}

creo una instancia de la clase
$NewPerson = new persona();
$NewPerson->set_dni(45123652);
hasta ahi todo ok
pero tengo una funcion "setea_datos" que al modificar el dni desde el formulario modifica el dni de la instancia de la persona

function setea_datos($campo, $valor)
{
global $NewPerson; // esta es una de las formas que prove
if($campo == 1)
{
$NewPerson->set_dni($valor);
}
}

function setea_datos($campo, $valor)
{
if($campo == 1)
{
$GLOBALS['NewPerson']->set_dni($valor); //esta es la otra forma que prove
}
}



el tema es que en esa funcion setea_datos me tira el error que el metodo set_dni() no es un metodo definido o sea que no me esta tomando la variable global $Newperson ya que afuera de la funcion la defini como una instancia de la clase persona, si alguien me da una manito con esto please
  #2 (permalink)  
Antiguo 08/08/2010, 12:21
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: ayuda con una clase

¿la función setea_datos() es parte de un objeto, o es independiente?

otra cosa es que no deberías usar globales... pero si aún así las necesitas no olvides usar el operador global antes de instanciar tu objeto en dicha variable...
Código PHP:
global $foo;
$foo = new bar
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 09/08/2010, 06:57
 
Fecha de Ingreso: septiembre-2007
Mensajes: 3
Antigüedad: 16 años, 7 meses
Puntos: 1
Respuesta: ayuda con una clase

hola pateketrueke gracias por la ayuda la funcion setea_datos() no es parte de ninguna instancia de clase es una funcion independiente que es la encargada de procesar las peticiones dado que trabajo con xajax y al modificar el formulario esta funcion es la encargada de usar los metodos de la instancia de persona $Newperson que defini fuera de la funcion para actualizar los datos
una pregunta creo la instancia de la clase fuera de la funcion es decir

function setea_datos()
{
....
}

$NewPerson = new persona();

vos decis que agregue el renglon global $Newperson arriba de $NewPerson = new persona(); fuera de la funcion?

Etiquetas: clase
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:40.