PDF de programación - Guía Zend

Imágen de pdf Guía Zend

Guía Zendgráfica de visualizaciones

Publicado el 20 de Marzo del 2018
757 visualizaciones desde el 20 de Marzo del 2018
3,6 MB
82 paginas
Creado hace 12a (08/06/2011)
Sobre la guía

2

Guía Zend:
El Framework abierto para el desarrollo de aplicaciones y
servicios web

Versión 1 / mayo 2011

Nivel: Básico / Intermedio

La Guía Zend se encuentra en línea en:

http://www.maestrosdelweb.com/editorial/guia-zend/

Un proyecto de Maestros del Web

Edición: Stephanie Falla Aroche

Ð
Ð Diseño y diagramación: Iván E. Mendoza
Ð Autor: Rodrigo Souto

Este trabajo se encuentra bajo una licencia Creative Commons

Atribución-NoComercial-CompartirIgual 3.0 Unported (CC BY-NC-SA 3.0)

Contacto

http://www.maestrosdelweb.com/sitio/correo/

Redes sociales

Facebook: http://www.facebook.com/maestrosdelweb
Twitter: http://www.twitter.com/maestros

Sobre el autor

3

Rodrigo Souto

Argentino, estudiante de Ingeniería en Siste-
mas en la UTN cuenta con amplia experiencia en
lenguajes de programación como PHP, JavaScript,
CSS fanático de Zend Framework y MooTools.

Indice

Índice

4

1. Indice ......................................................................................................................4
2. Introducción y primera aplicación ..........................................................................5
3. Modelos y Zend_DB .............................................................................................. 16
4. Controladores, Front Controller Plugins y Action Helpers ....................................23
5. Vistas, View Helpers y Layout ...............................................................................30
6. Crea y maneja formularios con Zend_Form ..........................................................38
7. Sobre decorators en Zend_Form .......................................................................... 45
8. Construir aplicaciones multi-idioma con Zend_Translate ..................................... 55
9. Integración con Ajax ............................................................................................. 61
10. Introducción a Zend_Session y Zend_Auth .......................................................... 66
11. Revisión de componentes ..................................................................................... 75
12. Otras guías ............................................................................................................82

1

Introducción
y primera
aplicación

Maestros del web

6

Capítulo 1
Introducción y primera aplicación

Zend Framework es un framework1 open source para PHP desarrollado por Zend la empresa encargada
de la mayor parte de las mejoras hechas a PHP. Zend Framework implementa el patron MVC es 100%
orientado a objetos, sus componentes tienen un bajo acoplamiento es posible usarlos de forma inde-
pendiente y brinda un estándar de codificación.

Características:

Ð

Ð

Ð
Ð

Cuenta con soporte para internalización y localización de aplicaciones construir sitios multi-idioma,
convertir formatos de fechas, monedas, etc.
Facilita el setup y brinda herramientas para crear la estructura de directorios y clases por línea de
comandos.
Integración con PHPUnit por medio de Zend_Test para facilitar el testing de la aplicación.
Tiene adapters para diversos tipos de bases de datos, brinda componentes para la autenticación y
autorización de usuarios, envío de mails, cache en varios formatos, creación de web services, etc.

La idea es invertir menos tiempo en el desarrollo y hacer uso de componentes ya testeados.

Instalación

1 | Descarga2 la última versión de Framework desde el sitio oficial.
2 | Cuando la tengas descargada creamos una estructura de directorios, puedes crearla automática-

mente con Zend_Tool_Framework, o puedes hacerlo manualmente.

La estructura inicial debe quedar de la forma que se ve en la imagen de la siguiente página.

1 http://www.maestrosdelweb.com/editorial/los-frameworks-de-php-agilizan-tu-trabajo/
2 http://framework.zend.com/download/latest

Guía Zend Si te fijas en la figura tenemos unos archivos básicos para crear y lo haremos paso a paso.

Maestros del web

7

Guía Zend Maestros del web

8

Action Controllers

Los controladores son clases que extienden de Zend_Controller_Action cada controlador tiene unos
métodos especiales cuya nombre tiene el sufijo “Action” y denominados “action methods”.

Por default las URLs en Zend Framework son del tipo /controlador/action es decir que si en
nuestro IndexController tenemos un “pruebaAction” lo podremos ejecutar desde /index/prueba.

Ejemplo: www.maestrosdelweb.com/index/prueba

class IndexController extends Zend_Controller_Action
{
public function init()
{
}
public function indexAction()
{
$this->view->mensaje = ‘Primera aplicación con Zend Framework!’;
}
}

Ð

Ð

La estructura es simple en el método init() se agregan tareas de inicialización y creamos un
action llamado index.

Ð Al ejecutarlo, Zend Framework automáticamente relaciona el nombre del action con una vista que

será renderizada.
Esta vista tiene la extensión phml en el caso del indexAction la vista asociada será index.phtml
dentro de la carpeta correspondiente al controlador index en views/scripts.

Ejemplo: /views/scripts/{controlador}/{action}.phtml

En el indexAction asignamos un texto a una variable de la vista, y en el archivo index.phtml lo
mostramos haciendo echo $this->mensaje.

Guía Zend Maestros del web

9

ErrorController

El controlador será ejecutado cada vez que se quiera llamar una página que no existe (error 404) o se
produzca algún error en la aplicación (error 500).

class ErrorController extends Zend_Controller_Action
{
public function errorAction()
{
$errors = $this->_getParam(‘error_handler’);
switch ($errors->type) {
case Zend_Controller_Plugin_ErrorHandler::EXCEPTION_NO_ROUTE:
case Zend_Controller_Plugin_ErrorHandler::EXCEPTION_NO_CONTROLLER:
case Zend_Controller_Plugin_ErrorHandler::EXCEPTION_NO_ACTION:
$this->getResponse()->setHttpResponseCode(404);
$this->view->message = ‘Pagina no encontrada’;
break;
default:
$this->getResponse()->setHttpResponseCode(500);
$this->view->message = ‘Ocurrio un error inesperado’;
break;
}
}
}

Guía Zend Maestros del web

10

Configurando el htaccess y el index.php

En htaccess: aplicamos el patrón Front Controller y redirigir todas las peticiones al index.php
luego decidir la página para mostrar.

RewriteEngine On
RewriteRule !\.(js|ico|txt|gif|jpg|png|css|pdf)$ index.php

El siguiente paso es crear el index:

// Definimos la ruta de /application
defined(‘APPLICATION_PATH’)
|| define(‘APPLICATION_PATH’,
realpath(dirname(__FILE__) . ‘/../application’));
// El entorno de trabajo actual
defined(‘APPLICATION_ENV’)
|| define(‘APPLICATION_ENV’,
(getenv(‘APPLICATION_ENV’) ? getenv(‘APPLICATION_ENV’)
: ‘production’));
// Configuramos el include path, es decir los directorios donde estarán nuestros
archivos
$rootPath = dirname(__FILE__).”/..”;
set_include_path($rootPath . ‘/application/config’ . PATH_SEPARATOR . $rootPath
. ‘/library/’);
// Zend_Application
require_once ‘Zend/Application.php’;
// Creamos la aplicacion
$application = new Zend_Application(
APPLICATION_ENV,
APPLICATION_PATH . ‘/configs/application.ini’
);
$application->bootstrap()->run();

1 | Creamos dos constantes (APPLICATION_PATH y APPLICATION_ENV)
2 | Configuramos el include path
3 | Creamos nuestra instancia de Zend_Application y le damos run.

Guía Zend Maestros del web

11

Bootstrap y application.ini

En el index hacemos referencia al archivo application.ini que configura el sitio pero que aún no
creamos pero haremos algo simple:

[production]
phpSettings.display_startup_errors = 0
phpSettings.display_errors = 0
; bootsrap
bootstrap.path = APPLICATION_PATH “/Bootstrap.php”
bootstrap.class = “Bootstrap”
; frontController
resources.frontController.controllerDirectory = APPLICATION_PATH “/controllers”
; layout
resources.layout.layoutPath = APPLICATION_PATH “/layouts”
; Database
resources.db.adapter = “pdo_mysql”
resources.db.params.host = “localhost”
resources.db.params.username = “user”
resources.db.params.password = “pass”
resources.db.params.dbname = “dbname”
[development : production]
phpSettings.display_startup_errors = 1
phpSettings.display_errors = 1
[testing : production]

Guía Zend Maestros del web

12

Ahora, creamos el Bootstrap registrando en el autoloader el namespace de nuestra aplicación
para instanciar las clases que usemos sin necesidad de hacer antes un include de dicho archivo:

class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
{
protected function _initAutoloader() {
$autoloader = Zend_Loader_Autoloader::getInstance();
$autoloader->registerNamespace(‘App_’)->setFallbackAutoloader(true);
$resourceAutoloader = new Zend_Loader_Autoloader_Resource(
array(
‘basePath’ => APPLICATION_PATH,
‘namespace’ => ‘App’,
‘resourceTypes’ => array(
‘form’ => array(‘path’ => ‘forms/’, ‘namespace’ => ‘Form’),
‘model’ => array(‘path’ => ‘models/’, ‘namespace’ => ‘Model’)
)
)
);
}
}

Seteando un layout

Es momento de crear el layout del sitio dentro de la carpeta “layouts” nombramos el archivo layout.
phtml:

<!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.01 Transitional//EN”>
<html>
<head>
<meta http-equiv=”content-type” content=”text/html; charset=utf-8”>
<title>Primera aplicacion en Zend Framework>/title>
</head>
<body>
<?php
echo $this->layout()->content;
?>

Guía Zend Maestros del web

13

</body>
</html>

Prueba en: sitio.com, sitio.com/index, sitio.com/index/index en todos ellos se verá el mensaje de bien-
venida.

Guía Zend Maestros del web

14

Creando una aplicación modular

Otra organización de directorios muy usada es la siguiente:



Tenemos nuestro sitio dividido en módulos con sus propios controladores y vistas. Para realizar este
cambio debemos cambiar la línea:

resources.frontController.controllerDirectory = APPLICATION_PATH “/controllers”

Por la siguiente línea:

resources.frontController.moduleDirectory = APPLICATION_PATH “/modules”

Ð Ahora tenemos el sitio organizado en módulos
  • Links de descarga
http://lwp-l.com/pdf9703

Comentarios de: Guía Zend (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad