File: /var/www/vhosts/creativefellows.nl/marie.creativefellows.nl/src/Domain/Repository.php
<?php
namespace App\Domain;
use PDO;
use Psr\Container\ContainerInterface;
/**
* Repository.
*/
abstract class Repository
{
private $connection;
public function __construct(
PDO $connection,
ContainerInterface $container
){
$this->connection = $connection;
$this->container = $container;
$this->items_per_page = $this->container->get("settings")["pagination"];
}
public function execute(string $sql, array $parameters = []): array
{
$sth = $this->connection->prepare($sql);
$sth->execute($parameters);
$row = $sth->fetch();
return $row ? : [];
}
public function executeAll(string $sql, array $parameters = []): array
{
$sth = $this->connection->prepare($sql);
$sth->execute($parameters);
$row = $sth->fetchAll();
return $row ? : [];
}
public function insert(string $sql, array $parameters = []): int
{
$sth = $this->connection->prepare($sql);
$sth->execute($parameters);
return $this->connection->lastInsertId();
}
}