di imaging che ho un oggetto e che può essere chiamato in un modello ramoscello come questo:ramoscello convertire una stringa all'oggetto che rappresentano
{{ object1.object2.object3.property3A }}
bene, mi mostrerà il contenuto se usiamo php scrivere è:
$object1->getObject2()->getObject3()->getProperty3A();
la mia domanda è se ho una stringa,
$refString="object1.object2.object3.property3A";
e poi si passa alla ramoscello, come Coul ho la proprietà 3A? Per la mia esperienza, siamo in grado di farlo in php in questo modo:
$refString="object1->getObject2()->getObject3()->getProperty3A()";
echo $$refString;
Ma io non so come farlo funzionare in ramoscello.
Potrebbe essere possibile usa attributo: http://twig.sensiolabs.org/doc/functions/attribute.html ma non sai come si comporta con più chiamate come la tua, potresti dover dividere il tuo punto, quindi chiamarlo in modo ricorsivo. – catchamonkey
sì, ho provato l'attributo, se hai una proprietà 1A, è facile. ma l'attributo della funzione non funzionerà per il livello mutiple. – ferdinandfly
Da qui la ricorsione, che devi fare da solo, dividi la corda a parte sul primo punto, e se la parte rimanente a destra ha un punto, ricorri di nuovo, altrimenti, restituisci l'attributo usando il lato sinistro del punto, e proprio nell'ultimo ciclo. – catchamonkey