Ver Mensaje Individual
  #1 (permalink)  
Antiguo 11/12/2009, 12:41
villah
 
Fecha de Ingreso: diciembre-2009
Mensajes: 49
Antigüedad: 14 años, 5 meses
Puntos: 6
Iniciandome con las clases

Buenas, espero me puedan ayudar, estoy intentando meterme en la programacion de clases con PHP y me tope con un problema. Tengo definida una clase, creo una instancia en una variable de sesion. para crearla pregunto si esta definida, la primera vez funiona bien, pero si recargo la pagina (no se crea nuevamente la instancia ya que esta creada) no funciona. Abajo dejo el codigo de la clase y la llamada.

Esta es la clase

Código PHP:
Ver original
  1. <?php
  2.  
  3.   class lista {
  4.     //atributos de la clase
  5.     private $num_elementos;
  6.     private $array_codigo;
  7.     private $array_descri;
  8.     private $array_estado;
  9.    
  10.     public $nombre;
  11.    
  12.     //constructor. Realiza las tareas de inicializar los objetos cuando se instancian
  13.     //inicializa el numero de productos a 0
  14.     public function __construct() {
  15.       return true;
  16.     }
  17.    
  18.  
  19.     //seleccionar un producto de la lista.
  20.     public function seleccionar_elemento($vCodigo){
  21.       $orden = $this->en_lista($vCodigo);
  22.       if ($orden <> -1) {
  23.         $array_estado = true;
  24.       }
  25.     }
  26.  
  27.     //elimina un producto de la lista.
  28.     public function elimina_elemento($linea){
  29.       $orden = $this->en_lista($vCodigo);
  30.       if ($orden <> -1) {
  31.         $array_estado = false;
  32.       }
  33.     }
  34.  
  35.     //informa si el elemento xxx se encuentra en el arreglo
  36.     private function en_lista($vCodigo) {
  37.       $resu = -1;
  38.       for ($i=0;$i<$this->num_elementos;$i++){
  39.         if($this->array_codigo[$i] == $vCodigo){
  40.           $resu = $i;
  41.         }
  42.       }
  43.       return $resu;
  44.     }
  45.        
  46.     public function devuelve_lista(){
  47.       echo '<table border=1>';
  48.       echo ' <tr>';
  49.       echo '   <td><b>Mesa</b></td>';
  50.       echo '   <td><b>Consultar</b></td>';
  51.       echo ' </tr>';
  52.       for ($i=0;$i<$this->num_elementos;$i++){
  53.         if($this->array_codigo[$i]!=0){
  54.           echo '<tr>';
  55.           echo '<td>' . $this->array_descri[$i] . '</td>';
  56.           echo '<td>hola</td>';
  57.           echo '</tr>';
  58.         }
  59.       }
  60.       echo '</table>';
  61.     }  
  62.    
  63.     public function hola() {
  64.       return "<p>jejejej</p>";
  65.     }
  66.  
  67.   }
  68.  
  69. ?>

y este el php de donde la invoco

Código PHP:
Ver original
  1. <?php
  2.   include("class/lista.php");
  3.  
  4.   if (!isset($_SESSION["ListaEstadisticaMesa"])){
  5.     $_SESSION["ListaEstadisticaMesa"] = new lista();
  6.   }
  7.  
  8.   $_SESSION["ListaEstadisticaMesa"]->hola();
  9. ?>


desde ya muchas gracias

Última edición por jam1138; 11/12/2009 a las 14:22