У меня есть Гуты/клиент (ГОУТТА использует Symfony для запросов), и я хотел бы присоединиться к пути и получить окончательный URL:Регистрация адреса в симфони/Goutte
$client = new Goutte\Client();
$crawler = $client->request('GET', 'http://DOMAIN/some/path/')
// $crawler is instance of Symfony\Component\DomCrawler\Crawler
$new_path = '../new_page';
$final path = $crawler->someMagicFunction($new_path);
// final path == http://DOMAIN/some/new_page
Что я ищу это простой способ присоединиться к переменной $new_path
с текущей страницей из запроса и получить новый URL-адрес.
Обратите внимание, что $new_page
может быть любым из:
new_page ==> http://DOMAIN/some/path/new_page
../new_page ==> http://DOMAIN/some/new_page
/new_page ==> http://DOMAIN/new_page
ли Symfony/ГОУТТЕ/жрать дает любой простой способ сделать это?
Я нашел getUriForPath
от Symfony\Component\HttpFoundation\Request
, но я не вижу простой способ, чтобы преобразовать Symfony\Component\BrowserKit\Request
в HttpFoundation\Request
вам действительно нужно канонизировать путь URL, в? guzzle должен иметь возможность обрабатывать запрос на 'http: // DOMAIN/some/path /../ new_page' без проблем – Federkun
Да, мне это нужно для некоторых других валидаций (а не для конкретного запроса). Также - если '$ new_page' является'/new_page', у меня может возникнуть проблема с конечным URL. – Dekel