-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathTelaProduto.php
64 lines (54 loc) · 1.72 KB
/
TelaProduto.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
<?php
// Crie uma classe TelaProduto que contenha um método obterProduto(), que retorna uma instância de produto com os dados lidos do usuário.
// Adicione à classe TelaProduto um método mostrarProdutos() que receba um array de objetos de Produto e exiba-os para o usuário.
// Adiciona à classe TelaProduto um método menu(), que exiba um menu como o abaixo e retorne a opção selecionada pelo usuário:
// MENU
// 0) Sair
// 1) Listar
// 2) Cadastrar
require_once 'Produto.php';
class TelaProduto {
public function obterProduto() {
$codigo = readline('Digite o código: ');
$descricao = readline('Digite a descrição: ');
$preco = floatval(readline('Digite o preço: '));
$estoque = intval(readline('Digite o estoque: '));
return new Produto($codigo, $descricao, $preco, $estoque);
}
/**
* @param array<Produto> $produtos Produtos a serem salvos.
*/
public function mostrarProdutos($produtos) {
foreach ($produtos as $p) {
echo $p->codigo . ' - ' . $p->descricao . ' - ' . $p->preco . ' - ' . $p->estoque . PHP_EOL;
}
}
public function menu() {
$prod = [];
do{
echo PHP_EOL . 'MENU' . PHP_EOL;
echo '0) Sair' . PHP_EOL;
echo '1) Listar' . PHP_EOL;
echo '2) Cadastrar' . PHP_EOL;
$x = readline();
switch ($x) {
case 1: {
print_r($this->mostrarProdutos($prod));
}; break;
case 2: {
$p = $this->obterProduto();
$prod [] = $p;
}; break;
case 0: {
echo 'Tchau.', PHP_EOL;
}; break;
default: {
echo 'Opção inválida.', PHP_EOL;
};
}
} while ($x != 0);
}
}
// $telaProduto = new TelaProduto();
// $telaProduto->menu();
?>