Ukládání serializovaného Dibiconnection do requestu

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
Senfix
Člen | 8
+
0
-

Ahoj,

po úporném hledání jsem našel jednu zajímavou věc, kterou nevím jak bych vyřešil.
ve svém projektu používám dibi a pokud přijde klasický uživatel a při prohlížení narazí na chybu, kterou mi odchytí laděnka normálně mi přijde error atd… bohužel pro návštěvníka si nette uloží tento request do seznamu posledních requestu do session včetně informací o erroru, pokud tedy uživatel půjde na jinou stránky tak při session_start se PHP snaží přeložit tyto informace zpět ze session a na DibiConnection tudíš volá __wakeup a vznikne nová vyjímka, že nelze deserializovat DibiConnection a z toho se uživatel už nevyhrabe a web je pro něj až do konce platnosti session, jen Server Error.

mě napadají dvě možná řešení, bud mazat session což mi přijde jako nesmysl a nebo mě srozumitelnější nevolat storeRequest při chybě, což ale vyžaduje zásah do Nette což bych také dělal nerad.

Nemá někdo jiný rozumější nápad ??

Jinak používám Nette 2.1.2 PHP, 5.3.14 a dibi 2.0.1

David Grudl
Nette Core | 8285
+
0
-

nette uloží tento request do seznamu posledních requestu do session

Jako samo? Nette si v session seznam posledních requestů nevede.

Senfix
Člen | 8
+
0
-

tvoje odpověd mě trochy zarazila a trochu jsem se v tom poštoural a zjistil jsem že za tohle může následující kod, právě ve store requestu se uložili ty informace ted už mi je stačí si to oštřit tady, ale i tak si nejsem jistej jestli by tohle nemělo něco vyhazovat aby se do toho někdo nezamotal jako já

/** @persistent */
public $backlink = '';

public function beforeRender(){
	$this->backlink = $this->storeRequest();
}