Programación Web y Scripting > PHP

 Arreglos Dentro De Clases

(1/1)

Thanatos-chan:
que tal,  :hola: , me he leido par de manuales y he pasado del hello word...  :lol:
y aunque me cosidero un noob todavia me he puesto a aprender a usar clases
y ya me encontre con mi primera pregunta.

segun tengo entendido para las clases solo se pueden usar arreglos de manera simple ej:

--- Código: Text --- $variable=array("valor 01","valor N");  
mi pregunta es si se puede usar un arreglo dentro de una clases que se pueda ingresar datos o agrandar? intente probar con una clase simple pero obtengo este error.

--- Código: Text --- Fatal error: Can't use method return value in write context in \mydirectory\clases_book.php on line 12  
lo que estoy intentando es tener un arreglo como una propiedad y agrandar ese arreglo con un metodo. eso se puede?????????

eh aqui lo que estoy haciendo

--- Código: Text --- <?PHP Class Book{ var $totalpages=1;var $currentpage;Var $pages=array(1);//este es el array para las paginas function addpage(){$this->totalpages=$this->totalpages + 1;$n=$this->totalpages;$this->pages($n)="nueva pagina en blanco";}}?>  
cualquier explicacion es bien agredecida.

F_Tanori:
Hola, si es posible tener propiedades como arreglos, a tu clase le hace falta el constructor, para inicializar los valores puedes hacerlo en el constructor para que no lo hagas al declarar las propiedades

los arreglos en php son con corchetes [] no con parentesis  los parentesis indican un metodo/funcion


--- Código: PHP ---$this->pages[$n]="nueva pagina en blanco"; 
en lugar de

--- Código: PHP ---$this->pages($n)="nueva pagina en blanco"; 

--- Código: PHP ---$<?php  class Book{     var $totalpages,       $currentpage,       $pages;     /* Constructor de la clase */  function Book(){        $this->totalpages=0;        $this->pages=Array();    }    /* Metodo Publico addpage */  function addpage (){        ++$this->totalpages;       $this->pages[$this->totalpages]="nueva pagina en blanco";    } } // *** end Book  $g = new Book(); $g->addpage();$g->addpage();$g->addpage(); echo "<pre>"   print_r($g->pages);echo "</pre>"; ?>  
Saludos

Thanatos-chan:
Gracias mil. por aclarar la duda  :hola:

Navegación

[0] Índice de Mensajes

Ir a la versión completa