Pratica con i controller e le viste in MVC
Crea un controller Product, nel cui costruttore
viene impostato il seguente array:
<?php
$this->products = [
1 => [
'name' => 'product1',
'price' => 100,
'quantity' => 5,
'category' => 'category1',
],
2 => [
'name' => 'product2',
'price' => 200,
'quantity' => 6,
'category' => 'category2',
],
3 => [
'name' => 'product3',
'price' => 300,
'quantity' => 7,
'category' => 'category2',
],
4 => [
'name' => 'product4',
'price' => 400,
'quantity' => 8,
'category' => 'category3',
],
5 => [
'name' => 'product5',
'price' => 500,
'quantity' => 9,
'category' => 'category3',
],
]
?>
Nel controller Product crea un'azione
show, che mostrerà le informazioni
di un singolo prodotto. Lascia che questa azione gestisca
indirizzi del seguente tipo: /product/:n/,
dove il parametro sarà il numero del prodotto nell'array.
Fai in modo che l'accesso a tali indirizzi
visualizzi tramite var_dump i dati di quel
prodotto che è stato richiesto tramite la stringa dell'indirizzo.
Aggiungi una vista all'azione creata. Usa per questo il seguente markup:
<h1>Prodotto "product1" dalla categoria "category1"</h1>
<p>
Prezzo: 100$, quantità: 5
</p>
<p>
Costo (prezzo * quantità): 500$
</p>
I dati in questo markup corrispondono al primo prodotto. Fai in modo che la vista mostri i dati del prodotto che è stato richiesto tramite la stringa dell'indirizzo.
Nel controller Product crea un'azione
all, che visualizzerà l'elenco di tutti
i prodotti sotto forma di tabella HTML. Lascia che questa azione
gestisca l'indirizzo /products/all/.