Da sa pouzit session vo Forms/?
- Myiyk
- Člen | 321
Session se dá použít snad všude. https://doc.nette.org/…ttp/sessions
K session se dostaň přes konstruktor.
- David Matějka
- Moderator | 6445
vytvoreny formular
to znamena co? komponentu s formularem? tovarnu? jak to mas registrovany?
Jestli je to tovarna nebo komponenta s tovarnou, tak si vyzadej pomoci
DI sluzbu Nette\Http\Session
a plus takovy cheatsheet: http://nette.matej21.cz/cs/di
- Takeshi
- Člen | 596
No mam v tom riadny „gulas“
<?php
class SignFormFactory extends Nette\Object
{
/** @var Nette\Http\Session */
private $session;
/** @var Nette\Http\SessionSection */
private $sessionSection;
public function injectSessionService(Nette\Http\Session $session, Nette\Http\SessionSection $sessionSection)
{
$this->session = $session;
$this->sessionSection = $session->getSection('mySection');
}
?>
… rada?
… teda nic nefunguje
- Takeshi
- Člen | 596
Oli napsal(a):
Tohle
Nette\Http\SessionSection $sessionSection
je v tom konstruktoru navíc, ale co znamená nefunguje? Ted koukám že to není konstuktor. Musí to být konstuktor, inject metody mimo presenter nefungují…
Nebol to __construktor, pretoze skusam vsetko mozne aby mi to islo … original som to mal takto >>>
<?php
class SignFormFactory extends Nette\Object
{
/** @var Nette\Http\Session */
private $session;
/** @var Nette\Http\SessionSection */
private $sessionSection;
public function __construct(User $user, Nette\Http\Session $session, Nette\Database\Context $database)
{
$this->user = $user;
$this->session = $session;
$this->sessionSection = $session->getSection('mySection');
$this->database = $database;
}
?>
a nasledne sa ho snazim pouzit v
<?php
public function create()
{
$sess = $this->getSession('session');
...
?>
ale vypisuje chybu …
Call to undefined method App\Forms\SignFormFactory::getSession().