Plantillas en Yii Framework
Las plantillas en Yii Framework así como en otros frameworks, 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 protected/views/layouts/ La plantilla por defecto utilizada por Yii está definida...
Pasar valores por la URL en Yii
Veamos como pasar valores por la URL en Yii Framework, la forma de proceder es una mezcla entre lo que hace Codeigniter y lo que hace Zend Framework 2. En Codeigniter podemos pasar tantos parámetros por la URL como queramos sin definiros en ningún sitio y los recibimos como parámetro en los métodos Action. En ZF2 tenemos que definir los parámetros que pueden ser utilizados por la URL en...
Controladores y vistas en Yii
Como en todos los frameworks para PHP Yii sigue la arquitectura MVC, por eso ahora veremos como crear controladores y vistas. Los controladores se crean en el directorio protected/controllers y el nombre de cada controlador debe ser CualquierCosaController.php y la clase que contenga debe llamarse igual que el fichero. Yo he creado el controlador HolaMundo: protected/controllers/HolaMundoController.php <?php //Controlador class HolaMundoController extends Controller{ //Método action public function actionIndex(){ $hola="Hola mundo...
URLs amigables en Yii Framework
Por defecto en Yii las url no son amigables ya que muestran algunos parámetros y ficheros que no son atractivos en la url de un proyecto, vamos a hacer que las rutas sean amigables. Tenemos que tener el mod_rewrite de Apache activado y también debemos tener en true el allowoverride. Ahora vamos al fichero yiiapp/protected/config/main.php (fichero de configuración principal de Yii dentro del directorio protected al cual no se...
Instalar Yii Framework en Wamp
Para instalar Yii Framework en Wamp descargamos el Framework de su web http://www.yiiframework.com/doc/guide/1.1/es/quickstart.installation. Descomprimimos el paquete en la carpeta del servidor web C:/wamp/www le cambiamos el nombre para que se llame yii. Accedemos a http://localhost/yii/require-ments/index.php para comprobar que cumplimos los requerimientos principales, si nos falla algo tendríamos que instalar o activara alguna extensión de PHP o Apache. Añadimos una nueva variable de entorno al path, para poder usar php...
Instalar Yii Framework en Lamp
Para instalar Yii Framework en Lamp descargamos el Framework de su web http://www.yiiframework.com/doc/guide/1.1/es/quickstart.installation. Descomprimimos el paquete en la carpeta del servidor web /var/www le cambiamos el nombre para que se llame yii, con los siguientes comandos. Accedemos a http://localhost/yii/require-ments/index.php para comprobar que cumplimos los requerimientos principales, si nos falla algo tendríamos que instalar o activara alguna extensión de PHP o Apache. Creamos un proyecto desde la consola: Y nos...
Recortar imágenes con Jcrop y PHPThumb
Hoy vamos a ver como recortar imágenes con Jcrop y PHPThumb. Jcrop es un plugin para jQuery que nos permite seleccionar de forma visual un área de una imagen y guardar las coordenadas seleccionadas en un formulario que enviaremos a un script PHP el cual recortará la imagen. Para hacer efectivo el recorte utilizaremos la librería para PHP PHPThumb que es muy sencilla de utilizar y funciona estupendamente. El...
Crear plugins para controladores en Zend Framework 2
Los plugins nos van a permitir tener pequeñas clases para tareas específicas que podamos reutilizar fácilmente. Vamos a ver como crear plugins para controladores en Zend Framework 2 de forma muy sencilla. Crearemos dentro del directorio Controller de nuestro módulo, un directorio llamado Plugin. En meteremos los plugins. Por ejemplo, voy a crear un plugin que imprima hace cuanto tiempo fue una fecha. Modulo/src/Controller/Plugin/HaceCuantoPlugin.php <?php namespace Modulo\Controller\Plugin; use Zend\Mvc\Controller\Plugin\AbstractPlugin;...
Plantillas diferentes en cada módulo de Zend Framework 2
Como sabemos, en cada método action de un controlador podemos forzar el uso de una plantilla u otra incluso combinar varias vistas, pero no hasta ahora no teníamos una forma clara de automatizar este proceso, sin tener que escribir una línea de código en cada método action. Vamos a ver como automatizar el uso de plantillas diferentes en cada módulo de Zend Framework 2. En nuestro Module.php tendremos un...
Ejemplo PHP + POO + MVC
Seguro que algunos que hayan leído o visto algunos de los tutoriales o ejemplos que pongo sobre programación en PHP con y sin frameworks, pueden no estar de acuerdo conmigo en ciertos detalles, o incluso estar pensando «este chico no está programando verdaderamente orientado a objetos» o «no sigue el paradigma a rajatabla» (todo lo que explico lo hago desde mi punto de vista actual, nunca digo que sea...
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...
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...