Integrar Ajax en Zend Framework 2
Podemos utilizar Ajax en Zend Framework 2 de forma similar a como lo haríamos en otros frameworks. En Zend contamos con algunas funciones específicas para trabajar con Ajax. Veamos un ejemplo. La vista que hará la petición AJAX al dar click a un botón. <script> $(document).ready(inicio); function inicio(){ var x=$(".cargar"); x.click(cargar); function cargar(){ $.ajax({ async: true, type: "POST", url: "<?=$this->basePath("crud/usuariosajax")?>", success: function(datos){ $("#usuarios").html(datos); } }); return false; } }...
Helper identity en Zend Framework 2
El helper identity nos permite comprobar en las vistas (y en controladores también) si estamos identificados sin necesidad de pasar parámetros a la vista, sino que esta disponible en todas las vistas y controladores de la aplicación. Para poder utilizarlo tenemos que añadir el invocable del servicio de autenticación al service manager, esto se configura en el fichero config/autoload/global.php de la aplicación: De forma que ahora en una vista,...
Enviar correos con Swiftmailer desde Zend Framework 2
Personalmente me gusta mucho Swiftmailer para enviar correos, así que veremos como enviar correos con Swiftmailer desde Zend Framework 2. Primero descargamos Swiftmailer y lo descomprimimos dentro del directorio vendor/. Incluimos la librería en el fichero Composer.json: { "name": "zendframework/skeleton-application", "description": "Skeleton Application for ZF2", "license": "BSD-3-Clause", "keywords": [ "framework", "zf2" ], "homepage": "http://framework.zend.com/", "require": { "php": ">=5.3.2", "zendframework/zendframework": "2.2.*" }, "autoload":{ "classmap": ["vendor/librerias/"], "files": ["vendor/Swift-5.0.3/lib/swift_required.php"] } } En...
Enviar correos con Zend Framework 2
Como en la mayoría de Frameworks de PHP es muy sencillo enviar correos con Zend Framework 2, vamos a ver como se hace utilizando el smtp de Gmail. En un controlador: <?php namespace Modulo\Controller; use Zend\Mvc\Controller\AbstractActionController; use Zend\View\Model\ViewModel; //Componentes necesarios para enviar el correo use Zend\Mail\Message; use Zend\Mail\Transport\Smtp as SmtpTransport; use Zend\Mail\Transport\SmtpOptions; class IndexController extends AbstractActionController{ public function indexAction(){ $destinatario='correo@correo.com'; $emisor='micorreo@gmail.com'; //Enviar email $message = new Message(); $message->addTo($destinatario) ->addFrom($emisor)...
Quitar public de la URL en Zend Framework 2
En la url de nuestra aplicación siempre nos aparece ww.dominio.com/public/noseque, ese “public” indica que estamos dentro del directorio público, vamos a ver como quitarlo. Crear index.php en el directorio raíz del proyecto ZF2 y añadir el siguiente contenido: <?php define('RUNNING_FROM_ROOT', true); include 'public/index.php'; ?> Crear un archivo .htaccess en el directorio raíz del proyecto ZF2 y añadir el siguiente contenido: SetEnv APPLICATION_ENV development RewriteEngine On RewriteRule .* index.php Por...
Navegación en Zend Framework 2
ZF2 nos permite hacer “menús” de navegación utilizando las rutas definidas. Tenemos dos rutas definidas en el archivo de configuración del modulo application. En el fichero config/autoload/global.php podemos definir la navegación. En el layout que estemos utilizando, llamamos al menú de navegación. ¿Quieres más? Vídeo Curso de Zend Framework 2 ¡¡ Aprende fácil y rápido !! Más información: Navegación en Zend Framework...
Combinar vistas en Zend Framework 2
A continuación veremos como combinar vistas en Zend Framework 2, está funcionalidad es muy interesante. public function plantillasAction(){ //Vista que se imprimirá $view = new ViewModel(); //Cargamos una vista y le definimos el template que va a tener $headerView = new ViewModel(); $headerView->setTemplate('modulo/usuarios/header'); $sidebarView = new ViewModel(); $sidebarView->setTemplate('modulo/usuarios/sidebar'); $articlesView = new ViewModel(); $articlesView->setTemplate('modulo/usuarios/articles'); //La vista tendrá 3 vistas hijas que pueden ser llamadas $view->addChild($headerView, 'header') ->addChild($sidebarView, 'sidebar') ->addChild($articlesView, 'articles');...
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...