Tipi di virgolette per una lingua di template HTML

3

Sto sviluppando una lingua dei modelli e ora sto cercando di decidere cosa dovrei fare con le virgolette. Sto pensando di avere 3 diversi tipi di citazioni che sono tutti gestiti in modo diverso:

                     backtick '     double quote "     single quote '
expand variables         ?              yes                 no
escape sequences        no              yes                  ?
escape html             no              yes                 yes

I backtick

I backtick sono pensati per essere utilizzati per l'output di codice JavaScript o HTML senza caratteri di escape. Spesso è utile essere in grado di passare variabili in JS, ma potrebbe anche causare problemi con le cose che vengono trattate come variabili che non dovrebbero. Le mie variabili sono in stile PHP ( $var ) quindi sto pensando che potrebbe guastarsi con jQuery piuttosto male ... ma se disabilito l'espansione delle variabili con backtick, non sono sicuro di come inserire una variabile in un JS blocco di codice?

Virgolette singole

Non sono sicuro che le sequenze di escape come \n debbano essere trattate come letterali o convertite. Trovo abbastanza raro che io voglia disabilitare le sequenze di escape, ma se lo fai, potresti usare i backtick. Quindi sono propenso a "sì" per questo, ma sarebbe contrario a come PHP lo fa.

Virgolette doppie

Sono piuttosto sicuro di voler abilitare tutto per questo.

Modificatori

Sto anche pensando di aggiungere modificatori come @ o r davanti alla stringa che cambierebbe alcune di queste opzioni per abilitare qualche altra combinazione. Avrei bisogno di 9 virgolette diverse o 3 virgolette e 2 modificatori per ottenere ogni combinazione non avrei?

La mia lingua supporta anche i "filtri" che possono essere applicati contro qualsiasi "termine" (numero, variabile, stringa) in modo da poter scrivere sempre qualcosa di simile

"blah blah $var blah"|expandvars

o

"my string"|escapehtml

Pensieri? Cosa preferisci? Cosa sarebbe meno confuso / più intuitivo?

    
posta mpen 19.02.2011 - 23:35
fonte

1 risposta

1

So che non rispondo davvero alla tua domanda, ma ti fornisco un suggerimento.

Per i template ho intenzione di provare PHPQuery (per uno dei miei grandi progetti al lavoro), PHPQuery è una porta di jQuery in PHP, quindi puoi avere un semplice HTML come modello, senza bisogno di caratteri speciali o modelli di stringhe, leggerlo in PHP e usare jQuery come selettori per gestire ciò che devi cambiare nel DOM di quel file HTML. Uso questo approccio per alcuni piccoli progetti, non so se è più veloce o più lento rispetto agli schemi classici per i progetti di grandi dimensioni, ma sembra abbastanza facile da implementare e utilizzare.

    
risposta data 17.03.2011 - 20:34
fonte

Leggi altre domande sui tag