Ho sviluppato un motore di template PHP personalizzato per soddisfare le mie esigenze e anche per avere un po 'più di pratica con PHP.
Quello che ho fatto è stato creare una classe Template che riceva semplicemente come parametro costruttore un percorso per un file modello e una stringa che dovrebbe essere il segnaposto per il contenuto delle pagine. In tal caso, il file modello è un file HTML con alcuni segnaposti scritti come [segnaposto]. Questi saranno riempiti con contenuti reali da un'altra classe. Ad esempio, [titolo] dovrebbe essere riempito con il titolo, [il contenuto] con il contenuto della pagina selezionata e così via.
Ho creato anche una classe Page che riceve come parametro costruttore la directory delle pagine e quindi ha metodi per impostare il nome del file che deve usare (questo è compilato come ci piace durante l'inizializzazione, quando si lavora con l'amichevole L'URL è il modo più comune in cui utilizzo questa impostazione come prima parte dell'URL) e i metodi per impostare più dati come coppie di stringa segnaposto e contenuto reale.
Il mio unico problema è come trattare con titoli e meta tag. Per ogni pagina c'è un titolo e una collezione di meta tag. L'unico modo per gestirlo era creare in file diversi un array con titoli e un array con meta tag. Entrambi ricevono come indice il nome del file di paging. Quindi per esempio $ titoli ["home"] dovrebbe essere il titolo della home page e $ meta_tags ["home"] dovrebbe essere il codice html per i meta tag della home page.
Il problema è che non appena ci sono molte pagine questo avrà un costo di memoria non necessario: il sistema caricherà per ogni richiesta tutti i titoli e tutti i meta tag, mentre dovrà caricare solo quello richiesto. Ho pensato di usare il database, ma sembra uccidere una formica con una bomba atomica. Quindi la cosa migliore che ho pensato era XML.
Ora, qual è la soluzione migliore per questo tipo di situazione? Usa XML, usa un database MySQL o qualche altro metodo?
Come ho detto, so che si raccomanda di utilizzare i motori di template che sono già in circolazione dal momento che sono stati testati un sacco di volte, sono già stabili e così via, ma sto lottando con cose come un modo per ottenere più pratica di sviluppo con PHP.
Grazie in anticipo per l'aiuto. Inoltre, non pensavo che fosse necessario per postare alcun codice che ho scritto, ma se una parte del codice ti sarà d'aiuto, per favore chiedi e lo posterò.