Ver Mensaje Individual
  #1 (permalink)  
Antiguo 05/04/2015, 11:52
Mave36
 
Fecha de Ingreso: abril-2015
Mensajes: 4
Antigüedad: 9 años, 1 mes
Puntos: 0
Pregunta Problema clases con constructor/destructor

Hola.
Estoy haciendo un curso online y he llegado a un punto donde me he atascado con un ejercicio de clases con constructores y destructores.
Estoy aprendiendo PHP por mi cuenta y por más que he buscado en foros y ejemplos y teoría no doy con la solución al ejercicio.
Os lo pongo junto a mi código a ver si me podéis ayudar algo.

GRACIAS !!

Crear clase class.php que simula una lista de productos. La clase contendrá:
  • Propiedad de tipo array con nombres y precios de productos
  • Constructor que muestre por pantalla "Objeto construído"
  • Destructor que muestre por pantalla "Objeto destruído"
  • Función que añade bebidas a la propiedad de la clase
  • Función que devuelve el nº de productos almacenados
  • Función que muestra en una tabla el producto y precio de cada producto (muestra el contenido de la propiedad de la clase)

Además, es necesario un script que accede a las funciones de la clase class.php para añadir productos a la lista y muestra los productos en una tabla HTML de modo que por pantalla se vea algo similar a:

Objeto construído.

(Aquí la tabla)
NOMBRE -- PRECIO
* -- * €
* -- * €
* -- * €

El nº total de productos es: X

Objeto destruído.


Y este es mi código actual:

Código class.php:
Ver original
  1. <?php
  2.  
  3. class clase_prod
  4. {
  5.  
  6. //propiedades
  7. public $productos;
  8.  
  9. //constructor
  10. function __construct()
  11. {
  12.     echo "Objeto construído.";
  13. }
  14.  
  15. //destructor
  16. function __destruc()
  17. {
  18.     echo "Objeto destruído.";
  19. }
  20.  
  21. //agregar productos
  22. function agregar_productos($nombre, $precio)
  23. {
  24.     $this->productos('Coca Cola'=>'1,5', 'Café'=>'2', 'Agua Mineral'=>'0,75', 'Cerveza'=>'1,25');
  25. }
  26.  
  27. //contar productos
  28. function contar_productos()
  29. {
  30.     $num_productos=count($productos);
  31.     echo "Nº total de productos: $num_productos";
  32. }
  33.  
  34. }
  35.  
  36. ?>

Código script.php:
Ver original
  1. <html>
  2.  
  3. <head>
  4. <meta charset="UTF-8" />
  5. <title>EJERCICIO 1 - clases</title>
  6. </head>
  7.  
  8. <body>
  9. <h1>PRODUCTOS</h1>
  10.  
  11. <?php include 'class.php';
  12.  
  13. $prod1 = new clase_prod;
  14.  
  15. $prod1->agregar_productos("Limonada", "1"); ?>
  16.  
  17. <p>
  18. <table width="40%" border="1">
  19.     <tr>
  20.         <td>
  21.             NOMBRE
  22.         </td>
  23.         <td>
  24.             PRECIO
  25.         </td>
  26.     </tr>
  27.     <?php
  28.         foreach ($productos as $key=>$value)
  29.         {
  30.     ?>
  31.     <tr>
  32.         <td>
  33.             <?php echo $key; ?>
  34.         </td>
  35.         <td>
  36.             <?php echo $value; ?> €
  37.         </td>
  38.     </tr>
  39.     <?php
  40.         }
  41.     ?>
  42. </table>
  43. </p>
  44.  
  45. <p>
  46.     <?php contar_productos(); ?>
  47. </p>
  48.  
  49. </body>
  50. </html>

Muchas gracias por la ayuda.