predavanie objektu medzi metodami
- twtw
- Člen | 7
ahoj,
potreboval by som predat objekt alebo pole (dokezem z neho spravit pole
s kopou prvkov) z jednej metody do metody render. V prvej metode robim
redirect na druhu, kde potrebujem dany objekt. Zhruba ako v kode nizsie.
<?php
public function metoda1() {
$objekt;
$this->redirect('metoda', TRUE);
}
public function renderMetoda($status) {
if (status) {
...
}
else {
praca s $objekt
}
}
?>
Skusal som cez globalnu premennu, ale bohuzial po redirekte ma premenna hodnotu ako po inicializacii, napadla ma aj staticka premenna, ale k nej som sa potom nevedel dostat pomocou $this->premenna. Je nejaky sposob ako to spravit? Dakujem.
- Solution
- Člen | 50
Bud můžeš předávat(pokud to nejsou podstatné a objemné informace)
předávat pole pomocí persistent parametru(přidá se do adresy)
https://doc.nette.org/…n/presenters#…
a nebo bych to uložil do session
https://doc.nette.org/…ttp/sessions
- redhead
- Člen | 1313
Vidím tu nějaké nepochopení PHP obecně. PHP je nestavové. Čili informace se neuchovávají mezi requesty (musí se přenést přes URL, cookie nebo ukládat do session).
Pak statické proměnné jsou proměnné třídy nikoliv objektu a tak
nemůžeš přistupovat přes $this->promenna
ale přes
self::$promenna
.
Pokud chceš ukládat objekt, tak nejlépe přes session. Když to budou typy jako int, string tak můžeš přes persistentní proměnné, jako psal Padik.