chore: Аннотации к типам
This commit is contained in:
parent
e5713e9015
commit
530a3b931d
22 changed files with 388 additions and 131 deletions
|
|
@ -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 '';
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue