En esta ocasión voy a relatar una forma de crear el típico ¡Hola Mundo! Con Zend Framework, para que funcione debe estar instalado Apache en el servidor, dependiendo del sistema operativo puede que cambie el procedimiento, pero básicamente serán los mismos pasos, este procedimiento ha sido probado en Debian si quieres saber como instalar un servidor Apache con Debian consulta Debian 7 (Wheezy) Estable.
Crear un proyecto Zend Framework:
Existen varias fuentes desde donde puedes descargar las librerías de Zend Framework, por ejemplo:
http://framework.zend.com/downloads/latest
El procedimiento para crear el proyecto de Zend Framework es:
-
-Desde terminal entrar en el directorio donde queramos crear el proyecto, por ejemplo:
cd ~/workspace/
-
-Descarga la última versión mínima:
wget https://packages.zendframework.com/releases/ZendFramework-1.12.3/ZendFramework-1.12.3-minimal.tar.gz
(o si lo prefieres también podrías hacerlo con la completa:
wget https://packages.zendframework.com/releases/ZendFramework-1.12.3/ZendFramework-1.12.3.tar.gz
) -
-Desempaquetar el archivo:
tar xvzf ZendFramework-1.12.3-minimal.tar.gz
-
-Crear el proyecto zendhola:
ZendFramework-1.12.3-minimal/bin/zf.sh create project zendhola
-
-Habilitar los layouts de Zend (Para esta prueba no es necesario, pero es interesante si posteriormente deseas crear un proyecto más complejo) para ello entramos en el proyecto:
cd zendhola
Habilitamos los layouts:
../ZendFramework-1.12.3-minimal/bin/zf.sh enable layout
y volvemos a salir del proyecto:
cd ../
-
-Incluir la librería Zend en el proyecto
cp -r ZendFramework-1.12.3-minimal/library/Zend zendhola/library/Zend
en este momento ya tenemos todo lo que necesitamos en el proyecto por lo que nos podríamos deshacer del directorio de
ZendFramework-1.12.3-minimal
.
Crear el host en debian:
En el archivo zendhola/docs/README.txt
nos describe la configuración básica que necesitamos para crear el host virtual, para crear el host haz lo siguiente:
-
-Crea el archivo de configuración desde un terminal con permisos de superusuario
gedit /etc/apache2/sites-available/zendhola.conf
Pega el XML descrito en
zendhola/docs/README.txt
y guarda el archivo. Luego entra en:cd /etc/apache2/sites-enabled/
Para crear el enlace al archivo que hemos creado:
ln -s ../sites-available/zendhola.conf
-
-Para configurar los host edita el el archivo /etc/hosts para poner el nombre del dominio: “
127.0.1.1 zendhola.local
” -
-Reinicia Apache para que coja los cambios
service apache2 restart
-
-Ahora accede desde tu navegador a:
http://zendhola.local/
Debería mostrar un cuadro azul donde dice “Welcome to the Zend Framework!”.
En caso de recibir un error de permisos incluir antes de</Directory>
del archivo/etc/apache2/sites-available/zendhola.conf
la línea:Require all granted
Si continua fallando otorga los privilegios apropiados:
chmod -R 755 ~/workspace/zendhola
Layout HTML (opcional):
Anteriormente hemos habilitado los layouts, pero el layout por defecto esta vacío, con lo cual la pagina mostrada no será un archivo HTML si no de texto (aunque algunos navegadores muestren los estilos asociados a etiquetas HTML sueltas que incluyamos), si deseas tener un archivo HTML únicamente tienes que editar el layout, por ejemplo, si nos encontramos en un terminal, en el directorio del usuario.
gedit workspace/zendhola/application/layouts/scripts/layout.phtml
Y cambiar el contenido por ejemplo con el siguiente marcado HTML5:
<!DOCTYPE html>
<html lang="es">
<head>
<title>Zend Framework</title>
<meta charset="utf-8"/>
</head>
<body>
<header>
<h1>Zend Framework</h1>
</header>
<section>
<?php echo $this->layout()->content; ?>
</section>
</body>
</html>
Prestar especial atención a la linea <?php echo $this->layout()->content; ?>
ya que esto mostrará la salida que nosotros indiquemos en la vista.
Imprimir ¡hola mundo!
Ya tenemos nuestro host virtual con Zend Framework instalado, ahora vamos a mostrar un sencillo ¡hola mundo!.
Para ello debemos situarnos nuevamente en nuestra carpeta de usuario con el terminal
cd ~
-
-Primero crearemos un modelo (usado para crear la lógica de negocio) que implemente una variable que contendrá la cadena “¡hola mundo!”.
gedit workspace/zendhola/application/models/Hola.php
y escribimos lo siguiente:
<?php class Application_Model_Hola { public $saludo = "¡hola mundo!"; }
-
-Cambiamos la vista (encargada de procesar el resultado final que se mandará al cliente) para mostrar el encabezado ¡hola mundo!:
gedit workspace/zendhola/application/views/scripts/index/index.phtml
elimina todo lo que contiene y escribe simplemente:
<h2><?= $this->hola; ?></h2>
-
-Editamos el controlador (es quien hace de intermediador entre la vista y el modelo) para pasar la variable del modelo a la vista:
gedit workspace/zendhola/application/controllers/IndexController.php
Debajo de donde dice:
public function indexAction()
{
// action body
Antes de la llave de cierre escribimos lo siguiente:$hola = new Application_Model_Hola(); $this->view->hola = $hola->saludo;
Vuelve a acceder a:
http://zendhola.local/
Bien, ya tenemos nuestro “¡hola mundo!” hecho con Zend Framework.
Por supuesto que parece matar moscas a cañonazos utilizar un Framework tan potente solo para mostrar “¡hola mundo!”, pero con esto hemos conseguido crear una base de carpetas y directorios con las librerías y estructura de Zend Framework listo para crear a partir de esta una nueva aplicación, y hemos visto como utilizar de forma sencilla su estructura Modelo Vista Controlador.
Lugares Relacionados:
http://framework.zend.com/
http://www.maestrosdelweb.com/editorial/video-tutoriales-de-zend-framework/