Primero crearemos nuestro proyecto con la ayuda de la consola que provee Zend.
Entonces, en el directorio desde donde se "sirven" los sitios de apache ( c:\xampp\htdocs en mi caso) le damos al siguiente comando, cambiando proyectozend por el nombre de nuestro proyecto:
zf create project proyectozend
Se crea entonces la estructura de directorios que Zend maneja por defecto.
No se debe olvidar copiar la carpeta de Zend al directorio library para que podamos usar todas las librerias que Zend pone a nuestra disposición.
Ahora crearemos un formulario. Para ello tecleamos desde la consola (c:\xampp\htdocs\proyectozend)
zf create form formulario
Editamos el formulario con el siguiente código:
<?php
class Application_Form_Formulario extends Zend_Form
{
public function init()
{
// primero establecemos el metodo que utilizara nuestro formulario para enviarse (post o get)
$this->setMethod('post');
// añadimos un campo tipo texto
$this->addElement(
// elemento tipo text
'text',
// nombre del elemento
'usuario',
// vector con las opciones de configuracion y validacio de nuestro campo
array(
// etiqueta que se mostrara con este campo
'label' => 'Nombre de Usuario',
// este elemento es requerido
'required' => true,
// filtros que se aplican al elemento
'filters'=> array(
// elimina los espacios extras al principio y al final de la cadena que se escriba enm este campo
'StringTrim'
),
// validadores de nuestro campo
'validators' =>array (
// validamos que nuestro campo tenga entre 5 y 10caracteres
array('StringLength', true, array('min'=>5, 'max'=>10))
)
)
);
// añadimos un boton de submit
$this->addElement(
// tipo boton submit
'submit',
// nombre de nuestro elemento
'enviar'
);
// añadimos proteccion contra cross site request forgery (OPCIONAL)
$this->addElement('hash', 'csrf', array(
'ignore' => true,
));
}
}
Ahora veamos el formulario, editamos el controlador index (C:\xampp\htdocs\proyectozend\application\controllers\IndexController.php)para que se muestre nuestro formulario:
public function indexAction()
{
// creamos el objeto formulario
$form = new Application_Form_Formulario();
// pasamos nuestro formulario a la vista (en una variable f) para que se muestre
$this->view->f = $form;
}
Y por ultimo lo mostramos en nuestra vista (C:\xampp\htdocs\proyectozend\application\views\scripts\index\index.phtml):
<?php
// mostramos el formulario (recordar que lo pasamos desde el controlador)
echo $this->f;
?>
Crearemos por ultimo una nueva acción de bienvenida en index. Para ello desde la consola ejecutamos
zf create action bienvenido index
El código que tendrá nuestra vista de bienvenida es simple (C:\xampp\htdocs\proyectozend\application\views\scripts\index\bienvenido.phtml):
<h1>BIENVENIDO</h1>
<br>
<h3>Lograste crear un formulario (muy simple) y manejaste el evento submit y lograste redireccionar a otra acción.</h3>
Por ultimo editaremos nuestra accion index con el siguiente código (C:\xampp\htdocs\proyectozend\application\controllers\IndexController.php):
public function indexAction()
{
// creamos el objeto formulario
$form = new Application_Form_Formulario();
// verificamos si se presiono el boton de submit
if($this->getRequest()->isPost()){
// verificamos si el formulario es valido con los parametros que se nos envia
if( $form->isValid($this->getRequest()->getParams()) ){
//aca podriamos guardar en la base de datos, validar, etc.
// redireccionamos a la accion bienvenido
$this->forward('bienvenido');
}
}
// pasamos nuestro formulario a la vista (en una variable f) para que se muestre
$this->view->f = $form;
}
Con esta acción verificamos si se realizo el submit, validamos los datos del fórmulario (que nuestro campo tenga entre 5 y 10 caracteres) y si todo estuviera bien redireccionamos a la pantalla de bienvenida.
Pantallla con errores:
Pantalla con los datos correctos (bienvenida)
Qué hacer a partir de acá. Puedes revisar que
Eso es todo por hoy, en unas semanas más realizare la parte dos de este pequeño tutorial. Espero que les sirva y no olviden dejar sus comentarios >_< Keep coding...