Práce s URL objektem pomocí getQueryParameters()

Allconius
Člen | 313
+
0
-

Ahoj, potřebuju z URL objektu dostat pole parametrů, mám to takto:


        $httpRequest = $this->getHttpRequest();
        $url = new Url($httpRequest->getUrl());
        $url->getQueryParameters();

        echo print_r($url->query);

akorát že to $url->query mi nějak vrací místo pole řetězec, co dělám špatně ?

MajklNajt
Člen | 471
+
+1
-

Načo vytváraš Url z UrlScript? Načo kombinuješ echo s print_r? Prečo si výsledok metódy getQueryParameters() nechytáš do premennej? Toto ti vypíše čo?

$params = $this->getHttpRequest()->getQueryParameters();
print_r($params);

Editoval MajklNajt (30. 6. 2022 18:37)

Allconius
Člen | 313
+
0
-

MajklNajt napsal(a):

Načo vytváraš Url z UrlScript? Načo kombinuješ echo s print_r? Prečo si výsledok metódy getQueryParameters() nechytáš do premennej? Toto ti vypíše čo?

$params = $this->getHttpRequest()->getQueryParameters();
print_r($params);

Call to undefined method Nette\Http\Request::getQueryParameters()

Allconius
Člen | 313
+
0
-

        $httpRequest = $this->getHttpRequest();
        $url = new Url($httpRequest->getUrl());
        $url->getQueryParameters();

        print_r($url);

tohle je v pohode vypise to:

Nette\Http\Url Object
(
[scheme:Nette\Http\Url:private] ⇒ https
[user:Nette\Http\Url:private] =>
[password:Nette\Http\Url:private] =>
[host:Nette\Http\Url:private] ⇒ xxxxx
[port:Nette\Http\Url:private] ⇒ 443
[path:Nette\Http\Url:private] ⇒ /xxxxxx/
[query:Nette\Http\Url:private] ⇒ Array
(
[adffafa] ⇒ 1258
[aaaa] ⇒ gfdfdhdfhdfh
 )

[fragment:Nette\Http\Url:private] =>
)

potřebuju z toho dostat jen to pole

Marek Bartoš
Nette Blogger | 1165
+
+3
-
$params = $this->getHttpRequest()->getUrl()->getQueryParameters();
print_r($params);

V tom co jsi poslal zbytečně vytváříš Url z Url, voláš getter getQueryParameters(); aniž bys výsledek jakkoli použil a kombinuješ zbytečně echo a print_r, které oba rovnou odesílají výsledek na output

Allconius
Člen | 313
+
0
-

Marek Bartoš napsal(a):

$params = $this->getHttpRequest()->getUrl()->getQueryParameters();
print_r($params);

V tom co jsi poslal zbytečně vytváříš Url z Url, voláš getter getQueryParameters(); aniž bys výsledek jakkoli použil a kombinuješ zbytečně echo a print_r, které oba rovnou odesílají výsledek na output

Ahoj, ano to je ono co jsem potřeboval díky moc