Odkaz na nefuknční render se stejně vyrenderuje?

před 6 dny

Kcko
Člen | 277
+
0
-

Ahoj,
pokud použiji ve svém presenteru odkaz

<?php

echo $this->link('neexistujici', ['token' => 'X', 'email' => 'E']);

?>

přičemž mi to vygeneruje URL <web>/neexistujici?token=X&email=E

To je korektní chování? Nemám nadefinovaný žádný vlastní router, ale klasické specifické routy + obecnou, která to zachytí
A render/action neexistujici take nemam vytvorenou.

<?php

    $frontRouter[] = new Route('<presenter>[/<action>][/<id>]', 'Page:default');
?>

Dá se to nějak nastavit, aby to vyhodilo error nebo něco?

Editoval Kcko (8. 11. 17:50)

před 6 dny

David Matějka
Moderator | 5671
+
+5
-

To, zda cilova akce existuje, je v dobe vytvareni linku velmi slozite zjistit – presenter chybu vyhazuje az ve chvili, kdy zacina renderovat sablonu.

a i vzhledem k tomu, ze pred tim muzes provest (napriklad ve startupu a na spouste dalsich mist) neco, co predejde 404 (zmena renderu, odeslani vlastni response apod), tak je to prakticky ze strany nette nemozne.

nejsnazsi by tak pro tebe asi bylo nemit obecny router

před 6 dny

MajklNajt
Člen | 94
+
0
-

stačí že bude existovať šablóna neexistujici.latte a vygenerovaný link je korektný…

před 6 dny

Kcko
Člen | 277
+
0
-

@DavidMatějka Díky, zcela dostačující odpověď.

@MajklNajt nemám právě, ale ono chování vysvětlil David před tebou.

Díky za reakci.

před 5 dny

Kcko
Člen | 277
+
0
-

Nedalo mi to a vytvořil jsem si včera vlastní router, který pracuje s databází (v tabulce je uložen Presenter, akce a argumenty) a nyní to funguje tak jak jsem očekával + jsem zredukoval spousty zbytečných ručně vypsaných rout.

Díky :)