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













