OK, questo potrebbe sembrare un po 'pazzo, ma portami qui per un minuto.parser SSI scritto in PHP?
Sto lavorando su un sito in cui lo standard è quello di utilizzare SSI per includere intestazioni, piè di pagina e menu. I file inclusi usano condizionali SSI per gestire diversi browser, alcuni #include nesting e alcuni #set/#if trucchi per evidenziare la pagina corrente nel menu. In altre parole, è più che semplice # include direttive nell'SSI.
Sono sicuro che alcuni potrebbero discutere con l'estetica, ma in realtà funziona abbastanza bene, per HTML statico.
Ora, il problema: mi piacerebbe solo "# include" le stesse SSI-analizzati intestazione e piè di pagina html file dal mio script PHP, evitando così la duplicazione del codice e mantenendo aspetto uniforme del sito. Se PHP fosse in esecuzione nel solito ambiente mod_php, sarei in grado di farlo usando la funzione virtual() di PHP. Sfortunatamente, il sito utilizza FastCGI/suexec per eseguire PHP (in modo che ogni VirtualHost possa essere eseguito come un utente diverso) e ciò interrompe virtual().
Ho usato un parser SSI abbastanza semplice che ho scritto in PHP (gestisce #include e alcune semplici istruzioni #if), ma mi piacerebbe una soluzione più generale. Quindi, prima che impazzisco e scrivo un parser SSI probabilmente più bacato e completo, qualcuno sa di un parser SSI completo scritto in PHP? Naturalmente, sono aperto anche ad altre soluzioni che funzionano secondo i vincoli che ho delineato.
Grazie mille per il vostro tempo.
Non chiamerei i file inclusi SSI con "n. # Include" nidificazione e "# set' /' # if "inganno" * statico * HTML. ;) Altrimenti, domanda interessante. : D – deceze
L'unica implementazione che conosco è http://nanoweb.si.kz/manual/mod_include.html - ma che implementa solo le tre funzioni standard e non costituisce molto un parser. – mario
@deceze: Beh ... sono "statici" nel senso che ogni file HTML richiesto dall'utente produce sempre lo stesso output. Sono d'accordo, tuttavia, che i file inclusi in SSI non sono affatto statici. –