Posts Tagged ‘ actions

Servicios REST usando Silex micro-framework 2/3

VN:F [1.9.22_1171]
Rating: 4.7/5 (3 votes cast)

Dando continuidad al artículo anterior sobre servicios REST usando el micro-framework Silex, hoy hablaremos sobre la implementación del código que fue publicado en GitHub como base de este proyecto.

NOTA: En este artículo veremos lo esencial del código usado para este proyecto pero se aconseja primeramente una lectura de la documentación oficial de Silex. En caso de conocer como funciona Symfony2 esto te será muy familiar.

Objetivo y alcance del Proyecto

El proyecto que usaremos se basará en crear una tabla de comentarios y realizar servicios REST para lograr un CRUD (create, read, update, delete) de la misma.

NOTA: La sentencia SQL para crear la tabla y otras utilidades las podrán encontrar en la WIKI del proyecto cuya dirección se encuentra en el archivo README.md en la raíz del proyecto.

Tendremos 4 servicios REST definidos en el proyecto: Leer mas

Extendiendo el sfActions de Symfony 3/3

VN:F [1.9.22_1171]
Rating: 5.0/5 (3 votes cast)

Trabajando con formularios

Después de mucho tiempo de trabajo continuamos con el tercer artículo de la serie Extendiendo el sfActions de Symfony en la que venimos hablando sobre hacer más genéricas las opciones que siempre usamos al trabajar con Symfony.

Trabajar con formularios es algo que siempre vamos a hacer ya que sin ellos es imposible pedir información al usuario. Lastimosamente el libro oficial “A Gentle Introduction to symfony” no se encuentra todavía traducido al castellano pero les dejo en enlace al capítulo de formularios aquí.

El subframework de formularios de Symfony es algo muy interesante ya que la construcción de cada formulario se encuentra encapsulada en un objeto incluyendo las validaciones del mismo. De esta manera nos permite concentrarnos en la construcción del formulario y no desviarnos del foco.

La idea de este artículo será analizar la forma de validación de los formularios y construir un método nuevo en el BaseActions a fin de escribir menos al la hora de validar los formularios.

Leer mas

Extendiendo el sfActions de Symfony 2/3

VN:F [1.9.22_1171]
Rating: 4.8/5 (2 votes cast)

Mensajes al usuario

Habiendo visto la primera parte de esta serie Extendiendo el sfActions de Symfony con el primer artículo, en el que vimos básicamente las primeras configuraciones que deberíamos hacer creando una clase BaseActions que extendiera de sfActions y haciendo que nuestros actions extiendan directamente de nuestra clase base, ahora podemos pasar a ver un ejemplo muy frecuente de uso, basándonos sobre el objeto myUser del cual hablamos en la serie Personalizando el objeto sfUser de Symfony.

Lo que hicimos en el myUser fue básicamente, para recordar, un método que permitiría cargar dentro del objeto Flash los mensajes de INFO, WARN y ERROR para los usuarios. Nos quedó algo así:

–>/apps/frontend/lib/myUser.class.php

class myUser extends sfBasicSecurityUser
{
    const INFO_MESSAGE = 'infoMessages';
    const WARNING_MESSAGE = 'warnMessages';
    const ERROR_MESSAGE = 'errorMessages';

    //::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
    // METODOS PARA MANEJO DE MENSAJES FLASH
    //::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

    /**
     * Agrega mensajes al FLASH del objeto sfUser creando un array por cada tipo
     * de mensaje (myUser::INFO_MESSAGE, myUser::WARNING_MESSAGE, myUser::ERROR_MESSAGE).
     * El mensaje $msg será agregado al nivel correspondiente que por defecto será el INFO
     * @param string $msg
     * @param string $level
     */
    public function addMessage($msg, $level = myUser::INFO_MESSAGE)
    {
        //-- Obtengo el array almacenado, en caso de no existir retorna una array vacío
        $flashContent = $this->getFlash($level, array());

        //-- Controla si ya existe un mensaje igual para no insertarlo repetido
        if(!in_array($msg, $flashContent))
        {
            //- Agrego el mensaje enviado en la siguiente posición disponible del array
            $flashContent[] = $msg;

            //-- Seteo el array al Flash nuevamente
            $this->setFlash($level, $flashContent);
        }
    }
}

Ahora podemos ingresar desde nuestros actions directamente así:
Leer mas

Extendiendo el sfActions de symfony 1/3

VN:F [1.9.22_1171]
Rating: 5.0/5 (1 vote cast)

Introducción al sfActions

Como habrán notado cuando trabajamos dentro de un módulo tenemos que crear los templates y los actions. Cada action creado debe extender de una clase propia del framework llamado sfActions que se encuentra dentro de la carpeta lib/action/ de los fuentes de symfony. Ésta a su vez hereda de otra y van las extensiones para arriba. Esto nos da la posibilidad de heredar código para todos nuestros actions.

La idea de éste posts es crear nuestras propias funcionalidades para no estar escribiendo muchas veces la misma cosa dentro de nuestros actions y vamos a ir haciendolo de a poco de acuerdo a las necesidades que vaya teniendo dentro de mis proyectos.

Para hacer esto lo que hago es crear dentro de la carpeta lib de mi proyecto un archivo BaseActions de la siguiente manera.

class BaseActions extends sfActions
{
}

Hacemos que nuestra clase BaseActions extienda de sfActions para que podamos seguir utilizando las funcionalidades que siempre usabamos y ahora cada vez que creamos un nuevo action lo hacemos de la siguiente manera. Leer mas