Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Moderatore di Server Apache L'avatar di marketto
    Registrato dal
    Sep 2001
    Messaggi
    5,858

    [php] gestione template dinamici

    ciao, dopo aver letto alcune cose sui template mi chiedevo: qual'è il modo "migliore" (che nn corrisponde sempre al più veloce) per gestirli??
    nel senso: quali funzioni sono coinvolte maggiormente: eval, preg_replace o simili??
    l'aspetto che maggiormente mi interessa riguarda la gestione dei template dinamici; gli esempi trovati seguono questa strada:
    -esplodere il template per trovare i pseudotag che indicano l'inizio e la fine della parte dinamica;
    -sostituire le variabili;
    -stampare.

    può andare bene come sistema??




    p.s.:
    ho dato un'occhio a queste risorse:
    http://freephp.html.it/articoli/view...sp?id=67&pag=1
    http://forum.html.it/forum/showthrea...postid=4069797
    http://forum.html.it/forum/showthrea...hreadid=536334
    think simple think ringo

  2. #2
    io uso forse il metodo piu' semplice ma anche , credo, il piu' veloce.

    Mi faccio un output su un file .html, su questo file inserisco le parti sensibili tipo:

    {title}
    {menu}
    {div1}
    {div2}
    {footer}

    per farti un esempio ...

    poi man mano che creo lo script , in base a quanto so di trovare nel file .html ed in base all' ordine alto -> basso , creo un array per l' output:

    $outputreplace = Array( 'titolo', 'contenuto menu', 'testo in div1', 'testo in div2', 'testo in footer' );

    ovviamente questo array deve corrispondere a quello creato precedentemente, ovvero:

    $outputfind = Array( '{title}', '{menu}', '{div1}', '{div2}', '{footer}' );


    quando ho tutto faccio semplicemente:


    echo str_replace( $outputfind, $outputreplace, file_get_contents( 'timplate.html' ) );


    str_replace strabatte qualunque eval, preg o altro



    esempio
    sul timplate
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  3. #3
    Moderatore di Server Apache L'avatar di marketto
    Registrato dal
    Sep 2001
    Messaggi
    5,858
    ho visto l'esempio sul timplate, ed effetivamente il procedimento che segui è veramente semplice e funzionale.
    un solo dubbio: con un sistema del genere se decidi di cambiare il layout delle pagine devi necessariamente agire sia sul file html nudo sia sul codice, giusto??

    quello che sarebbe interessante è affinare un procedimento che, per una modifica "grafica", richieda di mettere le mani sono al file html, senza dover toccare il codice.

    think simple think ringo

  4. #4
    Originariamente inviato da marketto
    ho visto l'esempio sul timplate, ed effetivamente il procedimento che segui è veramente semplice e funzionale.
    un solo dubbio: con un sistema del genere se decidi di cambiare il layout delle pagine devi necessariamente agire sia sul file html nudo sia sul codice, giusto??

    quello che sarebbe interessante è affinare un procedimento che, per una modifica "grafica", richieda di mettere le mani sono al file html, senza dover toccare il codice.

    io popolo la parte interessata, se cambio il file html cambio grafica senza dover agire sul codice ... perche' solo in impostazione i 2 array, il find ed il replace, devono essere sincronizzati, poi l' HTML me lo gestisco come voglio ... se aggiungo una parte che prima non c'era, tipo

    {counter}

    logico che devo agire anche sullo script, questo a prescindere dal metodo che utilizzi ... se invece levo una parte, tipo {footer} , quel dato non sara' modificato, tutto qua' ... cambiando l'ordine degli elementi nella sola pagina HTML il mio metodo funziona tale quale perche' come ho detto basta che a {menu} corrisponda 'test o links del menu' ... nient' altro ...
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  5. #5
    Moderatore di Server Apache L'avatar di marketto
    Registrato dal
    Sep 2001
    Messaggi
    5,858
    Originariamente inviato da andr3a
    io popolo la parte interessata, se cambio il file html cambio grafica senza dover agire sul codice ... perche' solo in impostazione i 2 array, il find ed il replace, devono essere sincronizzati, poi l' HTML me lo gestisco come voglio ... se aggiungo una parte che prima non c'era, tipo

    {counter}

    logico che devo agire anche sullo script, questo a prescindere dal metodo che utilizzi ... se invece levo una parte, tipo {footer} , quel dato non sara' modificato, tutto qua' ... cambiando l'ordine degli elementi nella sola pagina HTML il mio metodo funziona tale quale perche' come ho detto basta che a {menu} corrisponda 'test o links del menu' ... nient' altro ...
    si, è vero


    con un sistema di qst tipo xò nn è possibile evitare di mettere codice html nel file php, in quanto per popolare la parte interessata devi inserire necessariamente diversi tag...o mi sbaglio??
    think simple think ringo

  6. #6
    Moderatore di Server Apache L'avatar di marketto
    Registrato dal
    Sep 2001
    Messaggi
    5,858
    up
    think simple think ringo

  7. #7
    Originariamente inviato da marketto
    con un sistema di qst tipo xò nn è possibile evitare di mettere codice html nel file php, in quanto per popolare la parte interessata devi inserire necessariamente diversi tag...o mi sbaglio??
    i links resteranno links, il testo restera' testo ... se ai links associ una classe per CSS e per il testo pure modifichi il CSS, se vuoi l' HTML e ti trasformi come vuoi la pagina ... ma pur non conoscendo bene l' uso dei vari motori per timplates, sicuramente nel php ci saranno delle diciture o indicizzazioni per CSS o HTML per quel tipo di testo o di link da passare allo script ... insomma alla fine il mio e' un sistema semplice, non e' per ora OOP ma da ottimi risultati in prestazioni ... per cose piu' complesse, usa Smarty o prova a vedere come funziona. Rimane pero' il fatto che anche smarty dovra' sapere cos'e' il link che hai messo o il testo da gestire e quando passi o imposti una classe per CSS da un timplate-render-engine vedrai che alla fine le possibilita' rispetto al mio metodo non sono poi cosi' tanto differenti .
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  8. #8
    Moderatore di Server Apache L'avatar di marketto
    Registrato dal
    Sep 2001
    Messaggi
    5,858
    oke, ci penserò un pò
    think simple think ringo

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.