public function __toString()

109 views
Skip to first unread message

Danny alfonzo Viana perez

unread,
May 25, 2012, 12:16:24 PM5/25/12
to symfo...@googlegroups.com
hola amigos, siguiendo el consejo de Javier Eguiluz en el libro DESARROLLO WEB ÁGIL CON SYMFONY2 

coloque en mi entidad usuario el método "mágico" como el lo llama:

public function __toString()
{
    return $this->getNombre().' '.$this->getApellido();
}

por ello en mi platitillas twig puedo acceder al objeto app.user, ahora alguien sabe porque hay que pasar a string unos campos que son varchar? y tambien donde se crea el objeto app.user??

Es una duda que me esta matando y no consigo un explicación en la documentación 

Javier Eguiluz

unread,
May 25, 2012, 12:23:41 PM5/25/12
to symfo...@googlegroups.com
Hola Danny,

2012/5/25 Danny alfonzo Viana perez <dannyfi...@gmail.com>

hola amigos, siguiendo el consejo de Javier Eguiluz en el libro DESARROLLO WEB ÁGIL CON SYMFONY2 

coloque en mi entidad usuario el método "mágico" como el lo llama:

Una aclaración: no soy yo el que lo llama "método mágico", sino que es el propio lenguaje PHP: http://php.net/manual/es/language.oop5.magic.php
 
public function __toString()
{
    return $this->getNombre().' '.$this->getApellido();
}

por ello en mi platitillas twig puedo acceder al objeto app.user, ahora alguien sabe porque hay que pasar a string unos campos que son varchar? y tambien donde se crea el objeto app.user??

app.user es un objeto que crea automáticamente Symfony2 (su componente de seguridad) cada vez que un usuario se loguea al sistema. En realidad, app.user es una variable global de Twig que Symfony2 crea a partir del objeto User creado por el componente de seguridad.

Al poner {{ app.user }} estás diciendo que "imprima" el objeto. Como no es una cadena de texto, PHP llama al método mágico __toString() para convertir el objeto en una cadena y así poder mostrarlo en la plantilla.

Espero que así haya quedado un poco más claro.

Un saludo,
Javier Eguiluz

Danny alfonzo Viana perez

unread,
May 25, 2012, 12:31:08 PM5/25/12
to symfo...@googlegroups.com
Mas claro que el agua! gracias y te felicito una vez mas por tu libro y por responder las preguntas de los lectores.

Saludos desde Caracas Venezuela!
Reply all
Reply to author
Forward
0 new messages