2016-05-20 13 views
-2

ich einen Parameter von einem Link in Symfony 2.Symfony Routing erhalten Parameter von url

, wenn ich in der Verbindung von URL clic erhalten möchten, ich an die Index-Seite weitergeleitet sollte, und den Wert des Tokens erhalten Parameter. meine Verbindung aussehen als

folgen
http://www.myapp.com/?token=khdfhgkdfjghjdfgd354dfgdfg454dfg 

so in meinem Controller, sollte ich den Wert des Tokens erhalten.

Wie dies in Symfony 2, in dem Routing-symfony 2. die Aktion natürlich erhalten, aber, wie ich dies tue in der Routing-Datei

dank

+5

StackOverflow ist nicht als eine faule Alternative zum Lesen der Dokumentation gedacht. Ich schlage vor, Sie schauen sich die [Routing Chapter] (https://symfony.com/doc/current/book/routing.html) aus den Docs –

Antwort

2

Dies ist eine einfache Aufgabe, geben Sie einfach Hinweis das Request-Objekt in Ihrem Controller-Methode, wie so ...

use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route; 

class MyController extends Controller 
{ 
    /** 
    * @Route("/", name="index") 
    */ 
    public function indexAction(Request $request) 
    { 
     $token = $request->query->get('token'); 

     // ... 
    } 

    /** 
    * @Route("/{token}", name="index_with_token") 
    */ 
    public function indexWithTokenAction(Request $request, $token) 
    {  
     // ... 
    } 
} 
+0

im Routing, wie es funktioniert? –

0

Sie können wie folgt tun:

use Symfony\Component\HttpFoundation\Request; 
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route; 


/** 
* @Route("/your-url/{token}", 
* defaults={"token"="...."}, name="url_token") 
*/ 
public function yourAction(Request $request) { 

    // $_GET parameters 
    $request->query->get('name'); // in your case name is token 

    // $_POST parameters 
    $request->request->get('name'); 

} 
+1

Oder Sie können $ token in die Methodenargumente setzen und symfony wird den Wert automatisch dem Argument zuweisen. – LMS94

+1

@Emna Allerdings bitte ich Sie den Rat, einige Anstrengungen zu unternehmen und einen Blick auf die offizielle Dokumentation zu werfen! –

+0

Was bedeutet die 'Anfrage' vor dem Parameter' $ request'? –