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<?php
class clase_prod
{
//propiedades
public $productos;
//constructor
function __construct()
{
echo "Objeto construído.";
}
//destructor
function __destruc()
{
echo "Objeto destruído.";
}
//agregar productos
function agregar_productos($nombre, $precio)
{
$this->productos('Coca Cola'=>'1,5', 'Café'=>'2', 'Agua Mineral'=>'0,75', 'Cerveza'=>'1,25');
}
//contar productos
function contar_productos()
{
$num_productos=count($productos);
echo "Nº total de productos: $num_productos";
}
}
?>
Código script.php:
Ver original<html>
<head>
<meta charset="UTF-8" />
<title>EJERCICIO 1 - clases</title>
</head>
<body>
<h1>PRODUCTOS</h1>
<?php include 'class.php';
$prod1 = new clase_prod;
$prod1->agregar_productos("Limonada", "1"); ?>
<p>
<table width="40%" border="1">
<tr>
<td>
NOMBRE
</td>
<td>
PRECIO
</td>
</tr>
<?php
foreach ($productos as $key=>$value)
{
?>
<tr>
<td>
<?php echo $key; ?>
</td>
<td>
<?php echo $value; ?> €
</td>
</tr>
<?php
}
?>
</table>
</p>
<p>
<?php contar_productos(); ?>
</p>
</body>
</html>
Muchas gracias por la ayuda.