Che cos'è <# code #> in media-template.php e come funziona?


9

Sto verificando /wp-includes/media-template.phpe ho appena trovato questo:

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

Mai visto <# #>o {{{ }}}prima. Che tipo di PHP è questo?
Cercare questi simboli su Google sembra inutile ...

Risposte:


9

Questi sono modelli javascript che vengono compilati in HTML da una libreria javascript. Penso che WP usi underscore.js .

Diciamo che scrivi un plug-in jQuery e devi aggiungere il codice HTML al documento. Utilizzando tali modelli puoi evitare di inserire quel codice HTML all'interno di enormi stringhe concatenate all'interno del tuo codice javascript e posizionarlo dove si trova l'altro markup HTML. Quindi carichi quel modello dal tuo plugin, lo compili (le variabili vengono sostituite) e aggiungi l'HTML risultante al tuo documento. Essenzialmente si separa la logica aziendale dalla logica di presentazione. Questo rende anche il tuo plugin più disaccoppiato.


Oh, certo, quei blocchi sono dentro l'Html, brutto titolo per la Q, quindi ... Roba profonda che il core team ha ottenuto per creare la nuova libreria multimediale.
brasofilo,

Ho appena visto l'aggiornamento, sembra che quelli non compaiano nel sistema di notifica. Bella aggiunta :) E grazie anche a @toscho per il buon titolo.
brasofilo,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.