corso https://vola.udemy.com/course/php-mvc-from-scratch/learn/lecture/40931984#overview
filippo.bertilotti
2024-05-21 a26040f4846abcc8a8f8e81eb2d6d7923c384fdb
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
<?php
    namespace Framework;
 
    use App\Database;
    use PDO;
    abstract class Model
    {
        protected ?string $table;
 
        private function getTable() {
            $parts = explode("\\", $this::class);
            return strtolower(array_pop($parts));
        }
        public  function __construct(private Database $database) {
        }
        public function findAll(): array|bool
        {
            $pdo = $this->database->getConnection();
 
            $sql = "SELECT * FROM {$this->getTable()}";
 
            $stmt = $pdo->query($sql);
 
            return $stmt->fetchAll(PDO::FETCH_ASSOC);
        }
 
        public function find(string $id) {
            $conn = $this->database->getConnection();
            $sql = "SELECT *
                    FROM {$this->getTable()}
                    WHERE id = :id";
            $stmt = $conn->prepare($sql);
            $stmt->bindValue(":id", $id, PDO::PARAM_INT);
            $stmt->execute();
            return $stmt->fetch(PDO::FETCH_ASSOC);
        }
    }
 
 
?>