Hai davvero bisogno di fornire qualche informazione in più per consigliare qualsiasi consiglio, ma cercherò di rispondere in un modo generale.
Questo, in qualche modo, fornisce una separazione piuttosto logica della logica. Tuttavia ci sarà un po 'di overhead nel modo di richieste HTTP - e potenzialmente alcuni trabocchetti per quanto riguarda il debug.
I principali problemi che mi vengono in mente sono:
Richieste HTTP
Per ogni pagina ci sarà una richiesta HTTP aggiuntiva, essenzialmente una per il modello (il file .html
) e una per il contenuto (il carico di lavoro json
).
Operazioni JS
Questo introdurrà un onere positivo per quanto riguarda le operazioni lato client. Ad esempio, solo per visualizzare una "pagina" hai bisogno di fare una richiesta AJAX, analizzare la risposta JSON e il modello associato e quindi iniettare questo nel DOM. Anche se non il più pesante, probabilmente nemmeno essenziale.
Accessibilità
Se, per qualsiasi motivo, Javascript non è abilitato: i tuoi spettatori sono bloccati.
Manutenzione
Questo potrebbe non sembrare un grosso problema al momento, ma dato il tempo potrebbe benissimo diventarne uno.
Il tuo vero problema
Tuttavia, dalla lettura del tuo post sembra che tu abbia dimestichezza con PHP e l'hai già utilizzato inline in precedenza. In tal caso, utilizzare un motore di template sul lato server! C'è anche un porto di Moustache, Moustache.php ! Un altro da considerare potrebbe essere Smarty . Ce ne sono alcuni tra cui scegliere.
Ciò che sembra davvero esprimere è il desiderio di utilizzare la vista strutturata < vista . Un parente di ciò che molti framework PHP MVC ti offrono: a seconda della complessità del tuo progetto, l'utilizzo di un framework può essere una buona soluzione.
Ci sono molti framework tra cui scegliere, ma personalmente ho esperienza con Yii , Laravel e CodeIgniter . CodeIgniter è probabilmente il più semplice, ma Laravel è il mio preferito. Tuttavia, ci sono molte opzioni là fuori - e loro tutti forniscono meccanismi per separare le tue viste dal resto del resto dell'applicazione, e per quanto ne so, includono tutti i motori di template. Inoltre rendono la vita molto più semplice per quanto riguarda le operazioni del database e per la maggior parte delle altre cose finirai per scrivere lo script per.
Può essere un po 'un problema affrontare la questione all'inizio (improvvisamente devi abituarti a come il framework vuole che tu faccia cose) ma in realtà, fanno risparmiare tempo e ti aiutano a gestire la complessità - è una curva di apprendimento utile da sopportare!