Personalizando el objeto sfUser de Symfony 1/2

Presentación del sfUser

Dando continuidad a los artículos de Symfony quiero mostrarles algo que fue de mucha utilidad cuando lo conseguí hacer. Para los que no lo saben el objeto sfUser es el encargado de manejar las sesiones dentro de Symfony desaconsejando completamente el uso del array superglobal $_SESSION. Este objeto maneja por dentro la sesión del usuario y a esta funcionalidad le agrega mejoras interesantes para que los desarrolladores no tengamos que sufrir tanto. Esto es lo que nos dice el manual de Symfony:

En Symfony, el desarrollador no tiene que manipular directamente las
sesiones, sino que usa el objeto sfUser, que representa al usuario
final de la aplicación.

Para acceder al objeto sfUser, o lo que es lo mismo, para obtener o guardar datos en sesión, tenemos diferentes formas de hacerlo aunque siempre invocando a este objeto. Desde cualquier action, por estar extendiendo de sfActions, podemos acceder directamente asi:

$this->getUser()

Desde el layout principal o cualquier template (incluso partials) tenemos un atajo representado por una variable que mágicamente existe llamada

<?php $sf_user ?>

Continúa leyendo Personalizando el objeto sfUser de Symfony 1/2

Extendiendo el sfActions de symfony 1/3

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.

Continúa leyendo Extendiendo el sfActions de symfony 1/3

Symfony Framework

Logotipo de Symfony en su versión 1

Ahora que ya entendemos que es un Framework MVC podemos hablar sobre uno de los principales temas de los que vamos a ir hablando durante la vida de este blog.

Nuevamente veamos que dice wikipedia:

Symfony es un completo framework diseñado para optimizar el desarrollo de las aplicaciones web mediante algunas de sus principales características. Para empezar, separa la lógica de negocio, la lógica de servidor y la presentación de la aplicación web. Proporciona varias herramientas y clases encaminadas a reducir el tiempo de desarrollo de una aplicación web compleja. Además, automatiza las tareas más comunes, permitiendo al desarrollador dedicarse por completo a los aspectos específicos de cada aplicación. El resultado de todas estas ventajas es que no se debe reinventar la rueda cada vez que se crea una nueva aplicación web.

Symfony está desarrollado completamente en PHP 5. Ha sido probado en numerosos proyectos reales y se utiliza en sitios web de comercio electrónico de primer nivel. Symfony es compatible con la mayoría de gestores de bases de datos, como MySQL, PostgreSQL, Oracle y Microsoft SQL Server. Se puede ejecutar tanto en plataformas *nix (Unix, Linux, etc.) como en plataformas Windows.

Gracias a Fabien Potencier, creador de symfony, podemos tener todo esto de los que habla arriba. Symfony es un framework de frameworks. Obtiene ideas y funcionalidades de varias otras librerías y los añade como funcionalidad.

Continúa leyendo Symfony Framework

Framework MVC

Hoy en día los términos Framework y MVC son muy utilizados dentro del mundo del desarrollo informático y personalmente creo que suele ser un poco difícil entenderlos rápidamente, por lo que me gustaría hacer una explicación sencilla nada más para introducir a los demás artículos sobre el framework MVC para PHP llamado Symfony del cual estaré hablando con las siguientes entradas del blog.

Considero muy interesante esta parte de la definición para framework publicada por wikipedia:

… conjunto estandarizado de conceptos, prácticas y criterios … Son
diseñados con la intención de facilitar el desarrollo de software,
permitiendo a los diseñadores y programadores pasar más tiempo
identificando requerimientos de software que tratando con los tediosos
detalles de bajo nivel …

Un framework es mucho más que solo un conjunto de librerías que ayudan a programar más rápido, es una llamada de atención que dice: “Señores, pongámonos de acuerdo y hagámoslo de esta forma … yo te ayudo pero yo pongo las reglas”. Esto finalmente son nuevas reglas para programar que ayudan a mantener un código uniforme, ordenado y por sobre todo siguiendo un estándar.

Continúa leyendo Framework MVC