Метод getUri
Метод getUri класса CrawlerForm
возвращает URI формы - адрес, на который
будут отправлены данные при сабмите. Метод
не принимает параметров и возвращает строку.
Если атрибут action у тега form
не задан, метод вернёт адрес текущей страницы.
Синтаксис
public function getUri(): string
Пример
Давайте получим URI формы с явно заданным
атрибутом action:
<?php
namespace App\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\DomCrawler\Crawler;
class FormController extends AbstractController
{
public function index(): Response
{
$html = '<form action="/user/save" method="post">'
. '<input name="name" value="abcde">'
. '</form>';
$crawler = new Crawler($html);
$form = $crawler->filter('form')->form();
return new Response($form->getUri());
}
}
?>
Результат выполнения кода:
"/user/save"
Пример
Если атрибут action не задан,
метод возвращает текущий URI страницы:
<?php
namespace App\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\DomCrawler\Crawler;
class FormController extends AbstractController
{
public function index(): Response
{
$html = '<form method="post">'
. '<input name="name" value="abcde">'
. '</form>';
$crawler = new Crawler($html, 'http://localhost/article');
$form = $crawler->filter('form')->form();
return new Response($form->getUri());
}
}
?>
Результат выполнения кода:
"http://localhost/article"
Смотрите также
-
класс
CrawlerForm,
который представляет форму документа -
метод
getMethod,
который возвращает HTTP-метод формы -
метод
getValues,
который возвращает значения полей формы -
метод
set,
который задаёт значение поля формы