Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    77

    Utilizzo dei template integrati

    Salve a tutti sto seguendo questo tutorial http://php.html.it/articoli/leggi/84...ati-con-php/3/ per creare un template integrato con php, avrei alcune domande da porvi,

    Vorrei capire a cosa serve esattamente questa stringa di codice

    codice:
    return str_replace("\"","\\\"",implode("",file($template)));
    Ho cercato informazioni in lungo e in largo ma non ho capito bene a cosa serve.

    Spero in un vostro aiuto

    Saluti

  2. #2
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    77
    Non riesco proprio a capire esattamente a cosa serve quella stringa di codice nello script di quel tutorial!!

    Ho cercato informazioni ma senza capire bene il perché ha scelto di utilizzarla in quella guida.

  3. #3
    Quella riga di codice sostanzialmente fa l'escape delle virgolette, cioe' trasforma " in \", ma aggiungerei qualche osservazione:
    - usare implode() su file() e' il modo piu' assurdo per leggere i contenuti di un file in una stringa unica
    - non seguirei mai una guida scritta 9 anni fa
    - non ha senso sviluppare un sistema di template quando PHP e' gia' di suo (anche) un sistema di template

  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    77
    Ciao, grazie per avermi risposto, io sto utilizzando smarty però vorrei capire meglio come poter separare il codice dalla grafica senza utilizzare altri stratagemmi come smarty e utilizzare solo il php. Hai qualche guida da consigliarmi??Perché io non ho trovato niente.

    Grazie ancora per l'aiuto

  5. #5
    Guarda l'idea di base e' molto semplice: anche nello stesso script, prima metti tutto il codice che elabora i dati e poi metti il codice per la visualizzazione.

    Quindi nella prima parte non ci deve essere NESSUN echo/print o roba simile che non sia roba temporanea di debug. Niente cicli while in cui stampi i risultati di una query, niente di niente. Ogni volta che in teoria dovresti stampare output, invece di stamparlo lo salvi in una variabile (o in un array). Nella seconda parte usi SOLO markup HTML e il minimo indispensabile di codice PHP necessario a gestire l'output, quindi cose come:
    • sostituzione delle variabili create nella prima parte
    • cicli di controllo per l'output di array e/o strutture dati piu' complesse
    • eventualmente semplici chiamate a funzioni limitate ad operazioni di formattazione, ma anche questo e' meglio prepararlo prima
    • inclusione di altri file

    dopo puoi passare a separare le due parti in file diversi, e successivamente spostarti verso un framework.

    Per fare un esempio, ogni volta che vedi roba tipo:
    Codice PHP:
    echo "<table>";
    while ( 
    $line mysql_fetch_array($result) ) {
        echo 
    "<tr><td>{$line['id']}</td></tr>\n";
        echo 
    "<tr><td>{$line['descrizione']}</td></tr>\n";
        echo 
    "<tr><td>{$line['prezzo']}</td></tr>\n";
    }
    echo 
    "</table>"
    pensa subito BEEEEEP ERRORE.

  6. #6
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    77
    Scusa la mia ignoranza in materia ho iniziato da poco con il php, ma non ho capito come organizzare tutto. Come richiamare le pagine dal menu per esempio, cosa dovrei mettere nei file dove gestisco la grafica?Con smarty il gioco è semplice perché il grafico e il programmatore possono lavorare indipendentemente sui file. Mentre se inizio a mettere codice php nei file dove gestisco l'html il tutto si complica.

    Hai qualche guida da suggerirmi più aggiornata?Dove magari si fanno degli esempi pratici?

    Grazie ancora

  7. #7
    Nei file HTML che generano l'output finale ci metti del codice di smarty, no?
    Ecco, invece del codice smarty ci metti quello PHP.

    Codice PHP:
    // file script.php - elaborazione dati
    <?php
    $title 
    = .....
    $data = ... array di record estratti da database
    // .....
    include 'template.php';
    ?>


    // file template.php - visualizzazione
    header HTML vari
    <title><?php echo $title?></title>
    altro markup
    <table>
    <?php foreach ( $data as $line ): ?>
        <tr>
            <td><?php echo $line['id']; ?></td>
            <td><?php echo $line['descrizione']; ?></td>
            <td><?php echo $line['prezzo']; ?></td>
        </tr>
    <?php endforeach; ?>
    </table>
    Le variabili $title e $data sono definite nel primo file, puoi modificare il modo in cui vengono valorizzate senza toccare il file in cui viene mostrato l'output (fintanto che - ovviamente - mantieni lo stesso formato). Il grafico puo' lavorare solo su template.php senza curarsi di cosa fai tu per calcolare i dati. Unica differenza con smarty o altri sistemi e' la sintassi, il concetto e' identico.

  8. #8
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    77
    ok ora provo a mettere in pratica e vedo con quale soluzione riesco a trovarmi meglio.

  9. #9
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    77
    Grazie per l'aiuto

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.