chore: Аннотации к типам

This commit is contained in:
origami11@yandex.ru 2025-10-23 11:24:33 +03:00
parent e5713e9015
commit 530a3b931d
22 changed files with 388 additions and 131 deletions

View file

@ -5,34 +5,34 @@
* Выбор оформления страницы осуществляется если было совпадение с каким либо условием
*/
namespace ctiso\Layout;
use ctiso\Filter\Filter,
ctiso\Functions,
ctiso\HttpRequest;
use ctiso\Filter\Filter;
use ctiso\HttpRequest;
class Manager extends Filter
{
// Массив условий с их макетами
protected $condition = array();
/**
* Массив условий с их макетами
* @var list<array{callable, Filter}>
*/
protected $condition = [];
/**
* Функция которая добавляет условие для проверки параметров $_GET
* @param $get array() | true Ассоциативный массив ключей и значений для $_GET
*
* @example
* addConditionGet(array('module' => 'personal'), 'personal')
* addConditionGet(array('module' => 'login'), 'login')
* @param array|true $get Ассоциативный массив ключей и значений для $_GET
* @param Filter $layout Макет
*/
public function addConditionGet($get, Filter $layout)
public function addConditionGet($get, Filter $layout): void
{
$this->addCondition(Functions::rcurry([$this, 'checkGet'], $get), $layout);
$this->addCondition(fn(HttpRequest $request) => $this->checkGet($request, $get), $layout);
}
/**
* Условие для аякс запросов. Тоже самое что и addConditionGet но еще проверяется является ли запрос ajax
*/
public function addConditionXHR($get, Filter $layout)
public function addConditionXHR($get, Filter $layout): void
{
$this->addCondition(Functions::rcurry([$this, 'checkXHR'], $get), $layout);
$this->addCondition(fn(HttpRequest $request) => $this->checkXHR($request, $get), $layout);
}
/**
@ -57,17 +57,17 @@ class Manager extends Filter
* @param array $get
* @return bool
*/
public function checkXHR($request, $get)
public function checkXHR($request, $get): bool
{
return $request->isAjax() && $this->checkGet($request, $get);
}
/**
* Добавляет условие в общем виде
* @parma $get function(HttpRequest) Функция
* @parma $layout Layout Макет
* @param callable $get Функция
* @param Filter $layout Макет
*/
public function addCondition($get, Filter $layout)
public function addCondition($get, Filter $layout): void
{
$this->condition [] = [$get, $layout];
}
@ -75,7 +75,7 @@ class Manager extends Filter
/**
* Выбирает и применяет макет для страницы
*/
public function execute(HttpRequest $request)
public function execute(HttpRequest $request): string
{
foreach ($this->condition as $condition) {
if (call_user_func($condition[0], $request)) {
@ -88,6 +88,7 @@ class Manager extends Filter
}
}
}
return '';
}
}