2016-08-04 17 views
0

Im Kochbuch von CakePHP 3. Es wird angegeben URL erstellen, wie Parameter in cakephp von URL für den Zugriff auf 3

echo $this->Url->build([ 
    "controller" => "Posts", 
    "action" => "view", 
    "foo" => "bar" 
]); 

mit welchem ​​Ausgang wird als

/posts/view/foo:bar 

Wie die foo:bar den Zugriff auf in Aktion und speichern in einer Variablen $foo?

+2

Sind Sie sicher, dass Sie cake3 verwenden? Kuchen 3 würde '/ posts/view /? foo = bar' zurückgeben. Scheint eine cake2-Anwendung – arilia

+0

'$ var = $ this-> Anfrage-> param ('foo')' –

+0

@arilia überprüfen Sie dies [http://book.cakephp.org/3.0/en/views/helpers/url.html # generating-urls] (http://book.cakephp.org/3.0/en/views/helpers/url.html#generating-urls) –

Antwort

5

es im Kochbuch ein Fehler ist, so öffnete ich this Ticket

, wenn Sie diesen Code verwenden

echo $this->Url->build([ 
    "controller" => "Posts", 
    "action" => "view", 
    "foo" => "bar" 
]); 

Sie das Handbuch here eine URL wie dieser

/posts/view/?foo=bar 

bekommen erklärt, wie man auf die GET-Parameter zugreift

Sie können

$this->request->query('foo'); 

oder

$this->request->query['foo']; 

die erste ist null sicher tun, es bedeutet, dass, wenn die ‚foo‘ Parameter nicht gesetzt einfach null erhalten wird und kein Fehler

bearbeiten

nach 3.4.0 ist die neue Syntax

$this->request->getQuery('foo');