Uložení do proměnné v handle metodě

- lukendo
 - Člen | 96
 
Ahoj všichni, jak se dá řešit uložení do proměnné v handle metodě?
Mám tabulku, kterou prvním signálem zkrátím o nějaké řádky a když
bych jí pak chtěl ještě setřídit podle nějakého sloupce tak si
potřebuji někde uložit, že už je zkrácená. Zkoušel jsem to přes
proměnné, ale z nějakého důvodu to nešlape. Ta proměnná $x
j pořád null. Napadlo mě to řešit přes sessions, ale snad to musí jít
nějak jinak ne? Děkuji.
private $x = NULL;
public function handleArchived()
{
	$this->x = 4;
	$this->template->reports = $this->reports->getTable()->where('status_id', 4);
	$this->redrawControl('reportsTable');
}
public function handleSortByDateAsc()
	{
		$this->template->reports = $this->reports->getTable()->where(status_id', $this->id)->order('created ASC');
		$this->redrawControl('reportsTable');
	}
				
- Oli
 - Člen | 1215
 
@lukendo no jasně že je null. Však ji taky nastavuješ na null.
Musíš si uvědomit, že PHP je bezstavové a každý požadavek spustí skript
znova. Tzn. Ty si nějak nastavíš $x a ukončíš požadavek. Pak
přijde nový požadavek, ale ten předchozí už je mrtvý a nikdo neřekl
$xu, že má mít nějakou hodnotu. Jen v tom minulém požadavku
a ten už je mrtvý.
Jak psal @Darkling. Na tohle se přesně používají persistentní parametry. Pokud by jsi tam měl nějaký složitý data (pole, objekt, …) tak pak leda ta session.

- lukendo
 - Člen | 96
 
Darkling napsal(a):
Ahoj,
zkus persistentní parametry viz https://doc.nette.org/…n/presenters#…
Děkuji, funguje.

- lukendo
 - Člen | 96
 
Oli napsal(a):
@lukendo no jasně že je null. Však ji taky nastavuješ na null. Musíš si uvědomit, že PHP je bezstavové a každý požadavek spustí skript znova. Tzn. Ty si nějak nastavíš
$xa ukončíš požadavek. Pak přijde nový požadavek, ale ten předchozí už je mrtvý a nikdo neřekl$xu, že má mít nějakou hodnotu. Jen v tom minulém požadavku a ten už je mrtvý.Jak psal @Darkling. Na tohle se přesně používají persistentní parametry. Pokud by jsi tam měl nějaký složitý data (pole, objekt, …) tak pak leda ta session.
Děkuji za vysvětlení :)