-
Notifications
You must be signed in to change notification settings - Fork 5
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Progress to PHPStan Latte level 7 (#175)
[9 errors remaining](https://github.com/spaze/michalspacek.cz/actions/runs/5562124085/jobs/10160242058) and they all seem to be related one way or another to form containers, so maybe the following will help? - efabrica-team/phpstan-latte#380 Ref #141
- Loading branch information
Showing
21 changed files
with
312 additions
and
119 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,49 @@ | ||
<?php | ||
declare(strict_types = 1); | ||
|
||
namespace MichalSpacekCz\Media; | ||
|
||
use Nette\Utils\Html; | ||
|
||
class Photo | ||
{ | ||
|
||
/** | ||
* @param array<string, string> $sizes | ||
*/ | ||
public function __construct( | ||
private readonly string $title, | ||
private readonly string $file, | ||
private readonly string|Html $description, | ||
private readonly array $sizes, | ||
) { | ||
} | ||
|
||
|
||
public function getTitle(): string | ||
{ | ||
return $this->title; | ||
} | ||
|
||
|
||
public function getFile(): string | ||
{ | ||
return $this->file; | ||
} | ||
|
||
|
||
public function getDescription(): string|Html | ||
{ | ||
return $this->description; | ||
} | ||
|
||
|
||
/** | ||
* @return array<string, string> | ||
*/ | ||
public function getSizes(): array | ||
{ | ||
return $this->sizes; | ||
} | ||
|
||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,40 @@ | ||
<?php | ||
declare(strict_types = 1); | ||
|
||
namespace MichalSpacekCz\Training\Discontinued; | ||
|
||
class DiscontinuedTraining | ||
{ | ||
|
||
/** | ||
* @param list<string> $trainings | ||
*/ | ||
public function __construct( | ||
private readonly string $description, | ||
private readonly array $trainings, | ||
private readonly string $newHref, | ||
) { | ||
} | ||
|
||
|
||
public function getDescription(): string | ||
{ | ||
return $this->description; | ||
} | ||
|
||
|
||
/** | ||
* @return list<string> | ||
*/ | ||
public function getTrainings(): array | ||
{ | ||
return $this->trainings; | ||
} | ||
|
||
|
||
public function getNewHref(): string | ||
{ | ||
return $this->newHref; | ||
} | ||
|
||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,86 @@ | ||
<?php | ||
declare(strict_types = 1); | ||
|
||
namespace MichalSpacekCz\Training\Discontinued; | ||
|
||
use MichalSpacekCz\ShouldNotHappenException; | ||
use Nette\Database\Explorer; | ||
|
||
class DiscontinuedTrainings | ||
{ | ||
|
||
public function __construct( | ||
private readonly Explorer $database, | ||
) { | ||
} | ||
|
||
|
||
/** | ||
* Get all discontinued trainings with description. | ||
* | ||
* @return list<DiscontinuedTraining> | ||
*/ | ||
public function getAllDiscontinued(): array | ||
{ | ||
$query = $this->database->fetchAll( | ||
'SELECT | ||
td.id_trainings_discontinued AS id, | ||
td.description, | ||
t.name AS training, | ||
td.href | ||
FROM trainings_discontinued td | ||
JOIN trainings t ON t.key_discontinued = td.id_trainings_discontinued | ||
ORDER BY | ||
td.id_trainings_discontinued, | ||
t.id_training', | ||
); | ||
$trainings = []; | ||
foreach ($query as $row) { | ||
$id = $row->id; | ||
if (!is_int($id)) { | ||
throw new ShouldNotHappenException(sprintf("Discontinued training id is a %s not an integer", get_debug_type($id))); | ||
} | ||
$trainings[$id]['description'] = (string)$row->description; | ||
$trainings[$id]['href'] = (string)$row->href; | ||
if (!isset($trainings[$id]['trainings'])) { | ||
$trainings[$id]['trainings'] = []; | ||
} | ||
$trainings[$id]['trainings'][] = (string)$row->training; | ||
} | ||
$result = []; | ||
foreach ($trainings as $training) { | ||
$result[] = new DiscontinuedTraining($training['description'], $training['trainings'], $training['href']); | ||
} | ||
return $result; | ||
} | ||
|
||
|
||
/** | ||
* Get discontinued trainings with description. | ||
* | ||
* @param int $id | ||
* @return DiscontinuedTraining|null | ||
*/ | ||
public function getDiscontinued(int $id): ?DiscontinuedTraining | ||
{ | ||
$query = $this->database->fetchAll( | ||
'SELECT | ||
td.description, | ||
t.name AS training, | ||
td.href | ||
FROM trainings_discontinued td | ||
JOIN trainings t ON t.key_discontinued = td.id_trainings_discontinued | ||
WHERE | ||
td.id_trainings_discontinued = ? | ||
ORDER BY | ||
t.id_training', | ||
$id, | ||
); | ||
$trainings = []; | ||
foreach ($query as $row) { | ||
$trainings[] = $row->training; | ||
} | ||
return empty($row) ? null : new DiscontinuedTraining($row->description, $trainings, $row->href); | ||
} | ||
|
||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.