2017-10-19 22 views
0

J'ai une bibliothèque de widgets (js et autres fichiers) qui, au lieu d'écrirebrindille l'extension - équivalent php de années brindille comprennent

{% include 'path' %} 

tout le temps que je l'ai écrit une extension de simplement les inclure dans un appel de fonction comme si:

{% widget('name') %} 

Donc, ma question est comment puis-je implémenter la fonction d'inclusion de brindilles? S'agit-il simplement de renvoyer un php include ou est-ce un file_get_contents?

Exemples:

<?php 

    class Extensions 
    { 
     public function widget($name) 
     { 
      return include 'filepath/' . $name . '.html.twig'; 
      // or 
      return file_get_content('filepath/' . $name . '.html.twig'); 
     } 
    } 

Merci

Mise à jour: J'utilise file_get_contents et je reçois le texte suivant retourné:

alert('FROM HERE'); 
// AS 
alert(&#039;FROM HERE&#039;); 
+0

https://stackoverflow.com/questions/15730037/prevent-output-escaping-in-twig-function-extension brancher la sortie de l'extension dont vous avez besoin pour désactiver ce –

+0

Votre impressionnant. Merci – TheMan68

+0

Twig comme déjà une fonction d'inclusion, pourquoi avez-vous besoin de cela? – COil

Répondre

0

son un peu plus, ils analysent les modèles sur appel

regard:

https://github.com/twigphp/Twig/blob/2.x/lib/Twig/Extension/Core.php#L1287

modifier: file_get_contents faire le travail. include fait plus que seulement sortir le contenu

+0

Merci beaucoup. Je ne suis pas en train d'avoir besoin de ça aussi profond. J'ai simplement besoin de récupérer le code HTML de ce fichier. Pensez-vous que file_get_contents est une bonne idée ou pourrait-elle devenir trop lourde? – TheMan68

+0

'file_get_contents' fait le travail. 'include' fait plus que seulement sortir le contenu –

+0

Great. Je vous remercie. J'ai juste une question de plus. Im obtenir le contenu du fichier, mais il se répercute sur les caractères codés. Savez-vous un moyen de contourner cela? Merci – TheMan68