Sesiones en Zend Framework 2
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) );...
Autenticación en Zend Framework 2
El componente de autenticación en Zend Framework 2 nos sirve para identificarnos en la aplicación. A continuación haremos un login de usuarios. El controlador: <?php namespace Modulo\Controller; use Zend\Mvc\Controller\AbstractActionController; use Zend\View\Model\ViewModel; use Zend\Validator; use Zend\I18n\Validator as I18nValidator; use Zend\Db\Adapter\Adapter; use Zend\Crypt\Password\Bcrypt; use Zend\Authentication\Adapter\DbTable as AuthAdapter; //Componentes de autenticación use Zend\Authentication\AuthenticationService; use Zend\Authentication\Storage\Session as SessionStorage; use Zend\Session\Container; //Incluir modelos use Modulo\Model\Entity\UsuariosModel; //Incluir formularios use Modulo\Form\LoginForm; class UsuariosController extends AbstractActionController{ private...
Paginación en Zend Framework 2
Vamos a ver como paginar registros con ZF2 esta es una herramienta muy importante dentro de un Framework. Esta librería en ZF2 puede paginar cualquier array, y como casi todas las herramientas que nos da Zend tienen varias formas de ser utilizada, unas más y otras menos complejas. Paginar array El paginador utiliza el adaptador ArrayAdapter para ejecutar la lógica de paginación. Lo que hace es recibir un array...
CRUD con Zend Framework 2
Vamos a ver como hacer un CRUD con Zend Framework 2 (Create,Read,Update,Delete) de una tabla de la BD pruebas llamada usuarios con las columnas id,email,password,nombre,apellido. Se van ha abordar los siguientes temas: Todos los puntos anteriores Consultas y operaciones a la base de datos Mensajes Flash Cifrado de datos Bcrypt Vamos a crear un controlador llamado CrudController.php el cual tenemos que añadir al apartado invokables del fichero config del...
Conexión a la base de datos en Zend Framework 2
Para configurar la conexión a la base de datos en Zend Framework 2, tenemos que crear un fichero llamado local.php en el directrio config/autoload de la raíz del proyecto. Zend nos da la posibilidad de conectarnos a diferentes tipos de sgbd, para ello incluye los siguientes drivers: Mysqli: The ext/mysqli driver Pgsql: The ext/pgsql driver Sqlsrv: The ext/sqlsrv driver (from Microsoft) Pdo_Mysql: MySQL through the PDO extension Pdo_Sqlite: SQLite...
Validar formularios en Zend Framework 2
A la hora de validar formularios en Zend Framework 2 tenemos dos opciones: • Validación clásica a través de métodos llamados de forma manual. • Generando reglas de validación asociadas al formulario. Validación de datos sencilla Esta forma de validar es muy similar a como lo hace Codeigniter, es muy sencilla, y puede ser muy útil cuando los formularios por cualquier cuestión han sido creados manualmente o nos interesa...
Crear formularios en Zend Framework 2
Para crear formularios en Zend Framework 2 tenemos que definir clases que extiendan al componente Form(evidentemente también podemos ponerlos en las vistas directamente en HTML). Dentro de src hay que crear un directorio llamado Form y dentro irán los ficheros de cada formulario. El formulario module/Modulo/src/Modulo/Form/FormularioPruebas.php <?php namespace Modulo\Form; use Zend\Captcha\AdapterInterface as CaptchaAdapter; use Zend\Form\Element; use Zend\Form\Form; use Zend\Captcha; use Zend\Form\Factory; class FormularioPruebas extends Form{ //Le ponemos un nombre...
Crear modelos en Zend Framework 2
Veamos como crear modelos en Zend Framework 2. Los tenemos que crear dentro del directorio src/Modulo un directorio llamado Model y dentro de este otro llamado Entity(opcional), ahí irán los modelos. En Module/Modulo/src/Modulo/Model/Entity/PruebasModel.php creamos una clase modelo y definimos nuestros atributos y métodos que se comunicarán con el controlador. <?php namespace Modulo\Model\Entity; class PruebasModel{ private $mensaje; private $usuarios; private $nombre; public function __construct(){ $this->mensaje="Modelo de Victor Robles en Zend...
Crear módulos en Zend Framework 2
Veamos como crear módulos en Zend Framework 2. Lo primero es ir al fichero config/application.config.php y añadir el nombre del nuevo modulo. En el directorio module se guardan los módulos, por defecto nos viene el modulo Application, en module crearemos una nueva carpeta con el nombre de nuestro modulo. Dentro del directorio del modulo, tenemos que crear tres directorios (config, view y src) Dentro de config tenemos que tener...
Redirecciones en Zend Framework 2
Vamos a ver las diferentes opciones que tenemos para hacer redirecciones en Zend Framework 2. Las redirecciones forman parte del componente Zend/Mvc y son controller plugins. public function redirAction(){ /* * Refrescar la pagina * return $this->redirect()->refresh(); */ /* * Redirigir a una ruta que tengamos definida en module.config.php * return $this->redirect()->toRoute("home"); */ /* * Redirigir a una url * obtenemos la url base y le indicamos donde ir...
Plantillas en Zend Framework 2
Las plantillas en Zend Framework 2 nos permiten definir una pagina maestra, común a todas las páginas, que tenga elementos que necesitan todas las paginas por ejemplo un encabezado, los ficheros css y js, el pie de página, etc. En ella se “imprimen” las vistas de nuestra aplicación. Las plantillas se crean en el directorio indicado en la imagen. Los métodos que vamos a ver a continuación pueden ser...
Rutas y pasar valores por URL en Zend Framework 2
Vamos a ver como crear rutas y pasar valores por URL en Zend Framework 2. Así se crean nuevas rutas, definiendo un array como este dentro del array ‘routes’ del module.config.php del módulo. En el le indicamos que tipo de ruta es normalmente “Segment” y podemos definir una ruta fija o que sea variable en función del método action incluso del nombre del módulo y controlador. También le indicamos...