Tip: Session do debug panelu
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- juzna.cz
- Člen | 248
Tip: Pokud chcete videt, co mate v session, tak se vam treba bude hodit tento panel. Me obcas docela pomuze.
/**
* Dumps sessions to DebugBar
*
* @author Jan Dolecek <juzna.cz@gmail.com>
*/
class SessionPanel implements \Nette\Diagnostics\IBarPanel {
private $sess;
public function __construct(\Nette\Http\Session $sess) {
$this->sess = $sess;
}
function getTab() {
return $this->sess->getIterator()->count() . ' sessions';
}
function getPanel() {
$ret = array();
foreach($this->sess->getIterator() as $ns) $ret[$ns] = iterator_to_array($this->sess->getSection($ns));
return \Nette\Diagnostics\Debugger::dump($ret, true);
}
}
Staci zapnout v bootstrapu:
\Nette\Diagnostics\Debugger::$bar->addPanel(new SessionPanel($context->session));
- n.u.r.v.
- Člen | 485
Ahoj, dotaz – asi něco dělám blbě:
- dám class SessionPanel.php do app/model
- do bootstrap.php dám
\Nette\Diagnostics\Debugger::$bar->addPanel(new SessionPanel($context->session));
A hodí mi to chybu:
„Undefined variable: context“
v bootstrapu na řádku:
\Nette\Diagnostics\Debugger::$bar->addPanel(new SessionPanel($context->session));
Co s tím? Děkuji…
- David Matějka
- Moderator | 6445
a v sandboxu, quickstartu atd. neni $context, ale $container;
takze tamten radek dej za
$container = $configurator->createContainer();
a tam potom
pouzij misto $context
$container