Nette 2.2. a SessionPanel

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

Ahoj, vždy jsem si do svých nette projektů dával do debug baru session panel. Dle návodu, který jsem tu kdysi našel jsem to tak dělal do verze 2.1, ale v nové verzi už mi to nejde a dostanu chybu „Fatal error: Call to a member function addPanel() on a non-object“

Otázka tedy zni – jak přidat session panel do debug baru?

Takto jsem do teď přidával session panel do projektů :

Model/SessionPanel.php

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);
        //return \Nette\Diagnostics\Helpers::clickableDump($ret);
    }

}
bootstrap.php (zde to padne)

if ($configurator->isDebugMode()) {
    \Nette\Diagnostics\Debugger::$bar->addPanel(new SessionPanel($container->session));
}

Díky

Caine
Člen | 216
+
+4
-

Nette uz ma vlastni session panel:

nette:
	session:
		debugger: true

Krom toho od 2.1 to je takto Debugger::getBar()->addPanel($panel)

n.u.r.v.
Člen | 485
+
0
-

Díky – funguje to…