Symfony 2 ruting med en nettadresse som argument

stemmer
3

Jeg har noen problemer når du prøver å passere en URL som argument i Symfony2.

Min routing.yml har dette mønsteret: pattern: mark/{date}/{url}

Når jeg prøver å gå til: /web/app_dev.php/mark/1307374717828/http%3A%2F%2Flocalhost%2Fweb%2Fapp_dev.php%2Fhome%2F

Jeg har en ikke funnet siden, virker det som det ikke ser ut til å symfony fordi jeg har ikke problemet med rute som ikke samsvarer.

Så hvordan å passere en url som et argument?

Publisert på 06/06/2011 klokken 15:41
kilden bruker
På andre språk...                            


2 svar

stemmer
2

Dette er ikke like elegant en bruk av ruting som å kunne si mønster: mark / {date} / {url}, men du kan bare se etter 'url' rolle som en søkeparameter.

(I routing.yml)

_testurlthing:
    pattern: /mark/{date}
    defaults: { _controller: AcmeTestUrlBundle:Url:mark }

(I AcmeTestUrlBundle / elektro / UrlController.php)

public function markAction($date)
{
  $url = $this->get('request')->get('url');
  return new Response("sending you to $url");
}

Nå kan du koble til /web/app_dev.php/mark/1307374717828?url=http%3A%2F%2Flocalhost%2Fweb%2Fapp_dev.php%2Fhome%2F

Eller ved hjelp av kvist:

{{ path('_testurlthing', { 'date': 1307374717828, 'url': 'http%3A%2F%2Flocalhost%2Fweb%2Fapp_dev.php%2Fhome%2F' }) }}
Svarte 07/06/2011 kl. 19:30
kilden bruker

stemmer
0

Som standard Symfony ikke samsvarer med tegnet "/"; Må du spesifikt tillate det som er beskrevet her i Symfony dokumentasjon .

Svarte 29/11/2017 kl. 02:14
kilden bruker

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more