1 | <?php |
2 | |
3 | require_once __DIR__ . "/../../lib/php/validaNombre.php"; |
4 | require_once __DIR__ . "/../../lib/php/ProblemDetails.php"; |
5 | require_once __DIR__ . "/Archivo.php"; |
6 | |
7 | class Producto |
8 | { |
9 | |
10 | public int $id; |
11 | public string $nombre; |
12 | public ?Archivo $archivo; |
13 | |
14 | public function __construct( |
15 | string $nombre = "", |
16 | Archivo $archivo = null, |
17 | int $id = 0, |
18 | ) { |
19 | $this->id = $id; |
20 | $this->nombre = $nombre; |
21 | $this->archivo = $archivo; |
22 | } |
23 | |
24 | public function validaNuevo() |
25 | { |
26 | validaNombre($this->nombre); |
27 | if ($this->archivo === null) |
28 | throw new ProblemDetails( |
29 | status: ProblemDetails::BadRequest, |
30 | type: "/error/faltaarchivo.html", |
31 | title: "Falta el archivo.", |
32 | detail: "Selecciona un archivo que no esté vacío." |
33 | ); |
34 | $this->archivo->valida(); |
35 | } |
36 | |
37 | public function valida() |
38 | { |
39 | validaNombre($this->nombre); |
40 | } |
41 | } |
42 | |