Para ver como se usan las sesiones en Zend Framework 2 vamos a hacer un contador, que nos permita sumar y restar uno a un número guardado en una sesión.
En un controlador:
public function sesionesAction(){ //Creamos una sesión convencional $sesion=new Container('sesion'); if(!$sesion->id){ //Si no existe id le asignamos un valor $sesion->id=1; $sesion->nombre="Victor"; } //Pasa el valor de la sesión id a la vista return new ViewModel( array("sesion"=>$sesion->id) ); } public function addSesionAction(){ //Llamamos a la sesión y aumentamos en uno $sesion=new Container('sesion'); $sesion->id++; return $this->redirect()->toUrl($this->getRequest()->getBaseUrl().'/usuarios/sesiones'); } public function delSesionAction(){ //Llamamos a la sesión y disminuimos en uno $sesion=new Container('sesion'); $sesion->id--; return $this->redirect()->toUrl($this->getRequest()->getBaseUrl().'/usuarios/sesiones'); }
La vista:
<h1>Sesiones en Zend Framework 2</h1> <hr/> <?php echo $sesion; ?> <form action="<?=$this->basePath("usuarios/addsesion")?>" method="post"> <input type="submit" value="Añadir" name="add"> </form> <form action="<?=$this->basePath("usuarios/delsesion")?>" method="post"> <input type="submit" value="Quitar" name="del"> </form>
Más información:
Sesiones en la documentación oficial de Zend Framework 2