Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 17
  1. #1

    separare grafica da php

    Ragazzi, vi spiego il mio problema. Un agenzia mi ha affidato il lavoro di sviluppo solo che mi ha richiesto che la parte di programmazione deve essere separata dalla grafica, poichè c'è un web designer che andrà ad assemblare il tutto. Siccome non mi sono mai trovato in una situazione del genere, come pensate posso fare?

    io di solito i miei lavori li faccio cosi:

    file.php (che avrà query etc...)
    file_sito_web.php (richiamo i risultati che mi servono da file.php es:
    <h1><?php echo $file['titolo']; ?></h1>

    secondo voi questo metodo può andare bene? oppure devo risolvere in un altro modo?

  2. #2
    Ti conviene utilizzare qualcosa di più serio, ovvero un template engine come questi:
    http://www.smarty.net/
    http://twig.sensiolabs.org/


  3. #3
    ho già visto uno dei 2 link che mi hai dato. Ma per un sito molto semplice conviene utilizzare cose come Smarty? ne vale la pena? il metodo sopra citato da me non potrebbe andare bene secondo te? dato che si stratta sempre di un semplice sito web vetrina?

  4. #4
    Se realizzato bene il metodo che hai proposto va benissimo. I template engine non servono a nulla, PHP stesso e' (anche) un template engine, non ha senso usarne altri. Quello che serve e' essere disciplinati nel tenere ben separati elaborazione e presentazione dei dati.

  5. #5
    Grazie K.b, ne approfitto per chiederti cosa intendi per realizzato bene? quali sono i requisiti ?
    Grazie mille

  6. #6
    Originariamente inviato da k.b
    Se realizzato bene il metodo che hai proposto va benissimo. I template engine non servono a nulla, PHP stesso e' (anche) un template engine, non ha senso usarne altri. Quello che serve e' essere disciplinati nel tenere ben separati elaborazione e presentazione dei dati.
    Quindi Fabien Potencier, il creatore del framework Symfony, ha realizzato twig perché non aveva altro da fare?!?

  7. #7
    Originariamente inviato da alex_mac88
    Grazie K.b, ne approfitto per chiederti cosa intendi per realizzato bene? quali sono i requisiti ?
    Grazie mille
    Per realizzato bene intendo che tieni ben separato il codice e nel markup metti solo sostituzioni di variabili e il minimo di strutture di controllo per realizzare il layout (insomma niente query, calcoli, ecc.).

  8. #8
    Originariamente inviato da Gianni_T
    Quindi Fabien Potencier, il creatore del framework Symfony, ha realizzato twig perché non aveva altro da fare?!?
    Avra' avuto le sue ragioni, io non ne ho mai trovata una. Django ha senso perche' python e' ben diverso da PHP e non si puo' scrivere python inline dentro l'HTML.

    Ma i template engine per PHP non fanno altro che le stesse cose che si possono fare con il solo PHP.
    L'unico vantaggio pratico e' che ti FORZANO a separare codice e template (quindi sono in sostanza dei babysitter per sviluppatori indisciplinati), ma nulla ti impedisce di fare altrettanto con PHP.

  9. #9
    Utente di HTML.it L'avatar di torrone
    Registrato dal
    Apr 2006
    residenza
    Padova
    Messaggi
    1,128
    comunque Rain TPL è una buona e semplice classe per separare grafica da programmazione... ed è sviluppata da un italiano...

  10. #10
    Quindi in sostanza se uso una pagina per fare tutto, tipo query, calcoli, condizioni etc.. e poi la includo dove mi serve e mi prendo solo quello che mi serve va bene? scusate la mia insistenza e che voglio essere quasi sicuro di fare un ottimo lavoro:

    - mettiamo il caso ho 2 pagine: (index.php, chi_siamo.php)
    - e una che mi gestisce il tutto chiamata (include.php)

    La pagina (include.php) avrà tipo:
    Codice PHP:
    //TESTO HOME PAGE
    $SQL sprintf("SELECT testo FROM contenuti WHERE tipo = 1");
    $result $obj->query($SQL);
    while(
    $row $result->fetch_object()){ 
    $include['testo_home'] = $row->testo
    }
    //TESTO CHI SIAMO
    $SQL sprintf("SELECT testo FROM contenuti WHERE tipo = 2");
    $result $obj->query($SQL);
    while(
    $row $result->fetch_object()){ 
    $include['testo_chi_siamo'] = $row->testo


    La pagina (index.php) avrà:
    codice:
    <?php
    include 'include.php';
    ?>
    <h3><?php echo $include['testo_home']; ?></h3>
    La pagina (chi_siamo.php) avrà:
    codice:
    <?php
    include 'include.php';
    ?>
    <h3><?php echo $include['testo_chi_siamo']; ?></h3>

    Sbaglio o e corretto? in questo modo non avviene una separazione netta tra Php e tutto il resto?

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 © 2024 vBulletin Solutions, Inc. All rights reserved.