Foros del Web » Programando para Internet » PHP » Frameworks y PHP orientado a objetos »

Problema Al Crear Objeto A Partir De Una Clase

Estas en el tema de Problema Al Crear Objeto A Partir De Una Clase en el foro de Frameworks y PHP orientado a objetos en Foros del Web. Estoy creando el objeto $_SESSION['objOC'] = new OrdenDeCompra($txtNumero, $RUT, $NOMBRE, $selectVendedor, $txtFecha); ...Luego intento accesar un metodo del objeto $objOC->add_item("item", "descripcion", "valor"); ...Pero PHP dice ...
  #1 (permalink)  
Antiguo 06/01/2005, 11:10
 
Fecha de Ingreso: noviembre-2004
Mensajes: 176
Antigüedad: 20 años, 1 mes
Puntos: 0
Problema Al Crear Objeto A Partir De Una Clase

Estoy creando el objeto

$_SESSION['objOC'] = new OrdenDeCompra($txtNumero, $RUT, $NOMBRE, $selectVendedor, $txtFecha);

...Luego intento accesar un metodo del objeto

$objOC->add_item("item", "descripcion", "valor");

...Pero PHP dice Fatal error: Call to a member function on a non-object

Gracias!!!
  #2 (permalink)  
Antiguo 06/01/2005, 11:19
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 23 años
Puntos: 129
Debes incluir tu classe en todo script que pretendas usarlo .. Cuando usas sesiones para propagar un objeto .. los métodos se pierden.

Código PHP:
<?
include("tu_classe.php");
if (isset(
$_SESSION['objOC'])){
  
$objOC=$_SESSION['objOC'];
} else {
   
$objOC=new OrdenDeCompra($txtNumero$RUT$NOMBRE$selectVendedor$txtFecha);
}

// y usa tu objeto con normalidad mas abajo ..

$objOC->add_item("item""descripcion""valor");


?>
Un saludo,
  #3 (permalink)  
Antiguo 06/01/2005, 11:41
 
Fecha de Ingreso: noviembre-2004
Mensajes: 176
Antigüedad: 20 años, 1 mes
Puntos: 0
La clase la inclui, lo que sucedia es que me faltaba esta parte

if (isset($_SESSION['objOC'])){
$objOC=$_SESSION['objOC'];
}

... y despues puse

switch($variable) {
case '1':
$objOC=new OrdenDeCompra($txtNumero, $RUT, $NOMBRE, $selectVendedor, $txtFecha);
break;
case...
}


GRACIAS !!!

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 02:23.