web-dev-qa-db-fra.com

Qu'est-ce que <# code #> dans media-template.php et comment fonctionne-t-il?

Je vérifie /wp-includes/media-template.php et viens de trouver ceci:

<# if ( data.compat && data.compat.meta ) { #>
    {{{ data.compat.meta }}}
<# } #>

Jamais vu <# #> ou {{{ }}} auparavant. Quel genre de PHP est-ce?
La recherche de ces symboles sur Google semble vaine ...

8
brasofilo

Ce sont des modèles javascript qui sont compilés en HTML par une bibliothèque javascript. Je pense que WP utilise underscore.js .

Supposons que vous écriviez un plugin jQuery et que vous deviez ajouter du code HTML au document. En utilisant de tels modèles, vous pouvez éviter d'insérer ce code HTML dans d'énormes chaînes concaténées dans votre code javascript et de le placer à la place de l'autre balise HTML. Vous devez donc charger ce modèle à partir de votre plug-in, le compiler (les variables sont remplacées) et ajouter le code HTML résultant à votre document. Vous séparez essentiellement la logique métier de la logique de présentation. Cela rend également votre plugin plus découplé.

8
onetrickpony