Метод get класса CrawlerForm
Метод get класса CrawlerForm возвращает
значение поля формы по его имени. Первым параметром
передаётся имя поля. Если поле не найдено, метод
выбрасывает исключение InvalidArgumentException.
Метод удобен, когда нужно получить данные, которые
пользователь ввёл в конкретное поле формы.
Синтаксис
public function get(string $name): string|array|null
Пример
Давайте получим значение поля 'user' из формы:
<?php
namespace AppController;
use SymfonyBundleFrameworkBundleControllerAbstractController;
use SymfonyComponentHttpFoundationResponse;
use SymfonyComponentDomCrawlerCrawler;
class ArticleController extends AbstractController
{
public function index(): Response
{
$html = '
<form>
<input type="text" name="user" value="hello">
</form>
';
$crawler = new Crawler($html);
$form = $crawler->filter('form')->form();
$res = $form->get('user');
return new Response($res);
}
}
?>
Результат выполнения кода:
hello
Пример
Давайте получим значение поля 'user' и преобразуем его в массив:
<?php
namespace AppController;
use SymfonyBundleFrameworkBundleControllerAbstractController;
use SymfonyComponentHttpFoundationResponse;
use SymfonyComponentDomCrawlerCrawler;
class ArticleController extends AbstractController
{
public function index(): Response
{
$html = '
<form>
<input type="text" name="user" value="abcde">
</form>
';
$crawler = new Crawler($html);
$form = $crawler->filter('form')->form();
$res = [$form->get('user')];
return new Response(json_encode($res));
}
}
?>
Результат выполнения кода:
["abcde"]
Смотрите также
-
класс
CrawlerForm,
который представляет форму в Crawler -
метод
set,
который устанавливает значение поля формы -
метод
getValues,
который возвращает значения всех полей формы -
метод
has,
который проверяет наличие поля в форме