visual una studio referencia otro objetos objeto libro ejemplos ejemplo dentro declaracion clase asignar symfony twig

symfony - una - objetos de visual studio



¿Cómo podemos obtener el nombre de clase del objeto entidad en vista de ramita? (2)

Por ejemplo, si pasamos un objeto de tabla a la vista de ramita, ¿cómo podemos obtener el nombre de clase de ese objeto como ''Tabla''?

class Table{ } $table = new Table();

En Twig:

{{ table.className }} ---> esto debería mostrar ''Tabla''


En / Twig_Extension puedes agregar pruebas

public function getTests() { return [ ''instanceof'' => new /Twig_Function_Method($this, ''isInstanceof'') ]; } /** * @param $var * @param $instance * @return bool */ public function isInstanceof($var, $instance) { return $var instanceof $instance; }

Y luego usar como

{% if value is instanceof(''DateTime'') %}


Si no quiere hacer de esto un método en la entidad como tal:

public function getClassName() { return (new /ReflectionClass($this))->getShortName(); }

entonces usted podría crear una función o filtro Twig. Aquí hay una función:

class ClassTwigExtension extends /Twig_Extension { public function getFunctions() { return array( ''class'' => new /Twig_SimpleFunction(''class'', array($this, ''getClass'')) ); } public function getName() { return ''class_twig_extension''; } public function getClass($object) { return (new /ReflectionClass($object))->getShortName(); } }

Utilizar como tal:

{{ class(table) }}