Я рассуждаю,
например: мой метод должен вернуть или true или false.
А что вернёт метод, если по условию есть или true или действие?
protected function redirect($http = null)
{
session_regenerate_id();
if (is_null($http)) {
$redirect = $_SERVER['HTTP_REFERER'] ?? '/';
} else {
$redirect = $http;
}
header('location: ' . $redirect);
exit();
}
protected function checkToken(): bool
{
if (filter_input(INPUT_POST, 'do') == session_id()) {
return true;
}
$this->redirect(); // как видим тут у нас редирект
return false; // тогда нужно ли тут возвращать булев?
}
// применение
if (filter_has_var(INPUT_POST, 'do') and $this->checkToken()) {}