-
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathNameDays.php
40 lines (32 loc) · 858 Bytes
/
NameDays.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
<?php
namespace sbolch;
use PDO;
class NameDays
{
private PDO $db;
public function __construct()
{
$this->db = new PDO('sqlite:' . __DIR__ . '/data/name-days.sqlite');
}
/**
* @return string[]
*/
public function today(): array
{
$query = $this->db->prepare('SELECT `name` FROM `today`');
$query->execute();
return array_map(fn(array $n) => $n['name'], $query->fetchAll(PDO::FETCH_ASSOC));
}
/**
* @return array{date: string, names: string}
*/
public function calendar(): array
{
$query = $this->db->prepare('SELECT `date`, `names` FROM `calendar`');
$query->execute();
return array_map(fn(array $d) => [
'date' => $d['date'],
'names' => $d['names'],
], $query->fetchAll(PDO::FETCH_ASSOC));
}
}