ReCaptcha en Zend Framework 2
Jul12

ReCaptcha en Zend Framework 2

Instalamos el servicio ReCaptcha. Una vez instalado ya podemos utilizarlo en nuestros controladores. Ejemplo: public function captchaAction(){ $title="ReCaptcha en Zend Framework 2"; //Una vez nos registramos en ReCaptcha nos da una clave pública y otra privada $pubKey="string alfanumérico clave pública"; $privKey="string alfanumérico clave privada"; //Instanciamos el servicio ReCaptcha le pasamos las claves y las opciones. $recaptcha=new \ZendService\ReCaptcha\ReCaptcha($pubKey,$privKey,null, array("theme"=>"white","lang"=>"es")); //Si se ha enviado el captcha if(isset($_POST["recaptcha_challenge_field"])){ $result = $recaptcha->verify($_POST['recaptcha_challenge_field'],$_POST['recaptcha_response_field']); //Comprueba...

Leer más
Internacionalización en Zend Framework 2
Jul05

Internacionalización en Zend Framework 2

La internacionalización o traducción de sitios Web, es otra de las características importantes que nos facilita un Framework de desarrollo. Veamos como utilizar el componente de internacionalización en Zend Framework 2. Utilizaremos las sesiones y la base de datos para simular el comportamiento que podría tener la internacionalización en una aplicación real. En primer lugar, en nuestro module.config.php, tenemos que añadir los siguientes arreglos. En los que indicamos que...

Leer más
Plugin params de ZF2 para el manejo de variables superglobales
Jun14

Plugin params de ZF2 para el manejo de variables superglobales

El “plugin” params nos permite acceder de forma fácil a diferentes tipos de parámetros. Para conseguir el valor del nombre de un parámetro en un controlador, necesitaremos seleccionar el método apropiado para cada tipo de parámetro pasandole el name. Podemos conseguir los datos desde get o post, etc, no para sesiones. Ejemplos: $this->params()->fromPost('paramname');// Desde POST, es similar a $_POST['paramname'] $this->params()->fromQuery('paramname'); // Desde GET $this->params()->fromRoute('paramname'); //Desde las rutas definidas en...

Leer más
Listas de control de acceso ACL en Zend Framework 2
Jun14

Listas de control de acceso ACL en Zend Framework 2

En Zend Framewok 2 al igual que en otros frameworks, tenemos una funcionalidad muy interesante, las listas de control de acceso. Con ellas podemos definir una serie de roles para los usuarios y darles o quitarles permiso de acceso a ciertas partes de la aplicación. Ejemplo de implementación de ACL en Zend Framework 2: En nuestro module.config.php tenemos definidas estas rutas: A mi parecer la mejor forma de implementar...

Leer más
Subir ficheros con Zend Framework 2
Jun07

Subir ficheros con Zend Framework 2

En general Zend Framework 2 no intenta alejarnos de PHP, por tanto nos da la posibilidad de utilizar sus herramientas o utilizar PHP puro, salvo algunas peculiaridades. Para subir ficheros con ZF2 no tenemos nada especial, nos permite utilizar $_FILES y la metodología clásica para subir ficheros en PHP y alguna función especifica. En un método action de un controlador: //Podemos usar este método o $_FILES if($this->request->getFiles("imagen")){ /* Esto...

Leer más
Integrar Ajax en Zend Framework 2
Jun07

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; } }...

Leer más
Helper identity en Zend Framework 2
Jun07

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,...

Leer más
Enviar correos con Swiftmailer desde Zend Framework 2
May31

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...

Leer más
Enviar correos con Zend Framework 2
May31

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)...

Leer más
Quitar public de la URL en Zend Framework 2
May31

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...

Leer más
Navegación en Zend Framework 2
May31

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...

Leer más
Combinar vistas en Zend Framework 2
May24

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');...

Leer más