Метод has класса HeaderBag
Метод has класса HeaderBag проверяет,
есть ли в контейнере заголовков заголовок с указанным
именем. Первым параметром передаётся имя заголовка.
Метод возвращает true, если заголовок найден,
и false в противном случае. Класс HeaderBag
используется в объектах Request и Response
для работы с HTTP-заголовками.
Синтаксис
public function has(string $key): bool
Пример
Давайте создадим объект HeaderBag с несколькими
заголовками и проверим наличие одного из них:
<?php
namespace AppController;
use SymfonyBundleFrameworkBundleControllerAbstractController;
use SymfonyComponentHttpFoundationResponse;
use SymfonyComponentHttpFoundationHeaderBag;
class ArticleController extends AbstractController
{
public function index(): Response
{
$bag = new HeaderBag([
'content-type' => 'text/html',
'cache-control' => 'no-cache'
]);
$res = $bag->has('content-type');
return new Response(var_export($res, true));
}
}
?>
Результат выполнения кода:
true
Пример
Давайте проверим наличие заголовка, которого нет в контейнере:
<?php
namespace AppController;
use SymfonyBundleFrameworkBundleControllerAbstractController;
use SymfonyComponentHttpFoundationResponse;
use SymfonyComponentHttpFoundationHeaderBag;
class ArticleController extends AbstractController
{
public function index(): Response
{
$bag = new HeaderBag([
'content-type' => 'text/html',
'cache-control' => 'no-cache'
]);
$res = $bag->has('x-custom-header');
return new Response(var_export($res, true));
}
}
?>
Результат выполнения кода:
false
Пример
Давайте проверим заголовок в объекте Request,
который пришёл от клиента:
<?php
namespace AppController;
use SymfonyBundleFrameworkBundleControllerAbstractController;
use SymfonyComponentHttpFoundationResponse;
use SymfonyComponentHttpFoundationRequest;
class ArticleController extends AbstractController
{
public function index(Request $request): Response
{
$headers = $request->headers;
$res = $headers->has('user-agent');
return new Response(var_export($res, true));
}
}
?>
Результат выполнения кода при наличии заголовка
User-Agent в запросе:
true