Comment créer un Twig personnalisée fonction de la classe, sans l'aide d'une méthode statique?
Je peux créer une extension Twig pour mon projet de cette
class Functions extends Twig_Extension{
public function getName(){return 'foobar';}
public function getFunctions() {
return array(
'loremipsum' => new \Twig_SimpleFunction('asset', 'Functions::loremipsum')
);
public static function loremipsum($foo) {
return $foo;
}
}
cela fonctionne, mais je veux utiliser un constructeur d'injecter quelques données que j'ai besoin de certaines fonctions.
Simplement à l'aide de 'asset'
dans Twig_SimpleFunction
sera résultat en PHP qui tente d'exécuter le due loremipsum()
OriginalL'auteur SkaveRat | 2013-12-18
Vous devez vous connecter pour publier un commentaire.
Regarder les différentes classes qui
extend Twig_Function
pour toutes les différentes façons de spécifier le modèle de fonctions.Pour les nouveaux
Twig_SimpleFunction
, il semble que vous pouvez passer n'importe quel type decallable
que le deuxième argument du constructeur:Twig_Function_Method
(ainsi que tous lesTwig_Function_*
classes) est obsolète. Il sera supprimé dans la version 2.0Je vois, n'est-ce pas touché 2.0 avec mes extensions encore. Voir la mise à jour puis.
génial. fonctionne avec le callable-tableau
OriginalL'auteur deceze
Mise à jour de twig version 1.23.1 et c'est comme suit:
Et bien sûr, l'ajout de cette extension de la classe comme une extension twig sur
services.yml
fichier de config.OriginalL'auteur Turdaliev Nursultan