Ver Mensaje Individual
  #7 (permalink)  
Antiguo 27/06/2005, 10:35
Avatar de sism82
sism82
 
Fecha de Ingreso: octubre-2003
Ubicación: Guadalajara
Mensajes: 865
Antigüedad: 20 años, 7 meses
Puntos: 1
ok, espero poder darme a entender. Para poder comprendernos es necesario que empecemos a usar un vocabulario consistente. Si yo dijo "carro rojo", entiendes perfectamente que por "rojo" me refiero al color. Bueno, esto te lo digo por que considero que estás usando incorrectamente la palabra "Objeto", eso me causo un poco de confusión. El objeto se construye desde el mismo momento que tu mandas llamar new Algo(); sin importar si mandaste llamar más métodos de la clase Algo. Por ello, tu método setCliente() no construye el objeto, solo MODIFICA propiedades del cliente, en este caso al parecer quieres especificar el nombre del cliente y algo más que no se que es. Trata de escribir código que se explique asi mismo. Si una variable va a contener el nombre del cliente, creo que es mejor ponerle $CustomerName o $NombreCliente, que solo $nmcliente, eso pudiera confundir luego con numero de cliente, o no sé. Simplemente mientras mas claro se sea mejores posibilidades hay de que entiendan nuestro código.

Pasando concretamente a tu "problema". Intenta algo como esto:

Código PHP:
<?php
//CustomerLib.php
class ControlIngresoCliente
{
    
    function &
IngresarCliente($NombreCliente$OtraCosaDelCliente//especifico que el método regresa una referencia
    
{
        
$NombreCliente      = (string)$NombreCliente;
        
$OtraCosaDelCliente = (string)$OtraCosaDelCliente;
        
$cliente            = new Cliente(); //construyo el objeto
        
$cliente->setCliente($NombreCliente$OtraCosaDelCliente);  //seteo dos propiedades
        
return $cliente//regreso una referencia al objeto
    
}
}

class 
Cliente
{
    var 
$nombre_cliente;
    var 
$otra_cosa_cliente;
    
    function 
setCliente($NombreCliente$OtraCosaCliente)
    {
        
$this->nombre_cliente    $NombreCliente;
        
$this->otra_cosa_cliente $OtraCosaCliente;
    }

?>

<?php
//AddCustomer.php
require_once 'CustomerLib.php';
session_start();
$ControlIngreoCliente =  new ControlIngresoCliente();
$_SESSION['cliente']  =& $ControlIngresCliente->IngresarCliente('pancho''sadsadsa');
?>

<?php
//AddCustomerProcess.php
require_once 'CustomerLib.php';
session_start();
var_dump($_SESSION['cliente']);
?>
saludos

Última edición por Webstudio; 27/06/2005 a las 10:57 Razón: Le agregué los tags [PHP] para que fuera más legible