jueves, 21 de febrero de 2013

Formularios en Zend Framework (Básico) - Parte 1

Pues me dispongo a iniciar un proyecto con Zend Framework y el manejo de los formularios es un tanto "complicado" así que detallare algunas cosillas básicas para ir comenzando.

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.

Para poner a punto todo debemos tener configurados nuestros hosts virtuales ( CREAR UN HOST VIRTUAL).

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



lunes, 18 de febrero de 2013

¿Cómo ingresar al BIOS?

Pues la primera vez que intente entrar al BIOS no fue tan sencillo, así que les dejo algunas formas de ingresar en los tipos de BIOS más conocidos.
AMI BIOS
Tecla Supr durante el POST (auto-verificación al encendido)

Award BIOS
Teclas Ctrl+Alt+Esc o Supr durante el POST

DTK BIOS
Tecla Esc durante el POST

IBM PS/2 BIOS
Ctrl+Alt+Insert después Ctrl+Alt+Supr

Phoenix BIOS
Ctrl+Alt+Esc o Ctrl+Alt+S o F1