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

Kcko
Člen | 468
+
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. 2018 17:50)

David Matějka
Moderator | 6445
+
+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

MajklNajt
Člen | 494
+
0
-

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

Kcko
Člen | 468
+
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.

Kcko
Člen | 468
+
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 :)