Utilizar librerías de PHP en Zend Framework 2
Para utilizar librerías de PHP en Zend Framework 2, ya sean de terceros o nuestra propia, lo que tenemos que hacer es meterla en una carpeta dentro del directorio vendor. Para no tener que requerir los ficheros, ni complicarnos con los namespaces, aunque ninguna de estas opciones seria mala, vamos a añadir al fichero Composer.json un apartado llamado autoload, en el que pondremos los directorios donde hay librerías a...
Instalar módulos de terceros en Zend Framework 2
Para instalar módulos de terceros en Zend Framework 2 necesitaremos tener git instalado. Descargaremos git desde http://git-scm.com/downloads Instalamos git siguiente siguiente y añadimos la ruta de git al path del sistema. En Windows: Click derecho en Equipo Click en Configuration avanzada. Click en variables de entorno. Editamos la variable path Y pegamos la ruta donde tengamos instalado git, en mi caso ;C:\Program Files (x86)\Git\bin; Una vez instalado git, para...
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...