Rodrigo Borrego Bernabé - Software Developer




Evitando los OutputEscaping en elementos que no son objetos

Category : Programación, Symfony · by Nov 26th, 2010

Habitualmente los proyectos de symfony filtran la vista de manera que se evite la ejecución de código malicioso. Para ellos se sirve de los llamados Output Escaping Decorators. Sin embargo, en muchas ocasiones nos interesa (con cuidado) saltarnos este control.

Normalmente basta con hacer

$object->getAtributo(ESC_RAW) ó $object->getRawValue()->getAttributo()

Pero a veces no es un objeto lo que queremos utilizar. Pongamos que sea una cadena. En ese caso, la manera de actuar es la siguiente

$sf_data->getRaw('variable');

Si queremos ir más allá (mucho cuidado al hacer esto). Podemos desactivarlo para toda una acción desde el controlador:

public function executeMiAccion(sfWebRequest $request)
{
 sfConfig::set('sf_escaping_strategy', false);
 [...]
}
SHARE :