Cita:
Iniciado por sism82 como que no descarga el objeto?
unset se encarga de eliminar por completo la variable de la tabla de símbolos y liberar la memoria que tenía asignada. Que es lo que deseas?
Pues que imprimo algun valor del antiguo objeto y resulta que no solo existe el objeto sino que tiene sus valores antiguos
PROBAD ESTO PLEASE
Código PHP:
<?
class c_albaran
{
var $cliente;
var $aparato;
var $averia;
//constructor
function c_albaran ()
{
$this->cliente=new c_cliente;
$this->aparato=new c_aparato;
}
}
class c_cliente
{
var $cod_cliente;
var $nombre;
var $dni;
var $apellido1;
var $apellido2;
var $telefono;
var $direccion;
}
class c_aparato
{
var $cod_aparato;
var $tipo_aparato;
var $marca;
var $modelo;
var $num_serie;
}
session_start();
$_SESSION['new_albaran']=new c_albaran;
$_SESSION['new_albaran.averia']=5;
unset($_SESSION['new_albaran']);
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Documento sin título</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<?="averia=" . $_SESSION['new_albaran.averia']?>;
</body>
</html>
a mi me devuelve 5 cuando deberia dar error de objeto no declarado o si acaso null
de hecho creo que es un error conocido, si acudiis a la documentación de unset de php.net y vais abajo a los comentarios de los usuarios se comenta este error con la descarga de instancias de clase. El caso es que mi inglés es bastante malo y no entiendo bien lo que dicen y las soluciones que alguno proponen no me funcionan de forma correcta. Solo consigo descargar el objeto eliminando la session pero claro esto no es lo que yo quiero.
Porcierto uso php 4.3.10 con easyphp y la register_globals=off