corso https://vola.udemy.com/course/php-mvc-from-scratch/learn/lecture/40931984#overview
filippo.bertilotti
2024-05-21 766451d7a969ca8b6b80d7da206ef76e3f376925
creazione di una base Model da applicare a tutti i modelli (parte 120)
1 files added
1 files modified
60 ■■■■■ changed files
src/App/Models/product.php 27 ●●●●● patch | view | raw | blame | history
src/Framework/Model.php 33 ●●●●● patch | view | raw | blame | history
src/App/Models/product.php
@@ -3,31 +3,8 @@
    use App\Database;
    use PDO;
    class Product
    {
        public  function __construct(private Database $database) {
        }
        public function getData(): array
        {
            $pdo = $this->database->getConnection();
            $stmt = $pdo->query("SELECT * FROM product");
            return $stmt->fetchAll(PDO::FETCH_ASSOC);
        }
        public function find(string $id) {
            $conn = $this->database->getConnection();
            $sql = "SELECT *
                    FROM product
                    WHERE id = :id";
            $stmt = $conn->prepare($sql);
            $stmt->bindValue(":id", $id, PDO::PARAM_INT);
            $stmt->execute();
            return $stmt->fetch(PDO::FETCH_ASSOC);
        }
    }
    use Framework\Model;
    class Product extends Model {}
?>
src/Framework/Model.php
New file
@@ -0,0 +1,33 @@
<?php
    namespace Framework;
    use App\Database;
    use PDO;
    abstract class Model
    {
        public  function __construct(private Database $database) {
        }
        public function findAll(): array|bool
        {
            $pdo = $this->database->getConnection();
            $stmt = $pdo->query("SELECT * FROM product");
            return $stmt->fetchAll(PDO::FETCH_ASSOC);
        }
        public function find(string $id) {
            $conn = $this->database->getConnection();
            $sql = "SELECT *
                    FROM product
                    WHERE id = :id";
            $stmt = $conn->prepare($sql);
            $stmt->bindValue(":id", $id, PDO::PARAM_INT);
            $stmt->execute();
            return $stmt->fetch(PDO::FETCH_ASSOC);
        }
    }
?>