Perché dovrei usare un sistema di template in PHP?

Perché dovrei usare un sistema di template in PHP?

Il ragionamento dietro la mia domanda è: PHP stesso, ricco di funzionalità sistema di template, perché dovrei installare un altro modello di motore?

Solo due pro che ho trovato finora sono:

  1. Un po ‘ più pulita di sintassi (a volte)
  2. Modello motore di solito non è abbastanza potente per implementare la logica di business, in modo che le forze di separare le preoccupazioni. Template con PHP può indurre l’utente a piedi tutto il template principi e iniziare a scrivere il codice zuppa di nuovo.

… ed entrambi sono abbastanza trascurabile rispetto al cons.

Piccolo esempio:

PHP

<h1><?=$title?></h1>
<ul>
  <? foreach ($items as $item) {?>
  <li><?=$item?></li>
  <? } ?>
</ul>

Smarty

<h1>{$title}</h1>
<ul>
  {foreach item=item from=$items}
  <li>{$item}</li>
  {/foreach}
</ul>

Io davvero non vedere nessuna differenza.

  • Grazie per ogni singolo commento che hai fatto. Mi ha aiutato a ordinare i miei pensieri. Ora sto con Zend Framework) non e uguale per tutti. Ora vedo Smarty e la ama come il passaggio di molto più sofisticato, produttivo, stimolante e divertente mondo del framework di sviluppo. Non più mysql_queries e include_onces 🙂
  • Per una cosa, si utilizza php tag brevi, che condivido rende le cose belle, ma vi saranno mostrati ostracizzato dalla comunità PHP per farlo. Confronta <?php echo $foo ?> per {$foo} per un confronto equo, e quindi smarty chiaramente vince per migliorare la leggibilità.
  • Perché sono brevi tag male?
  • vi saranno mostrati ostracizzato dalla comunità PHP per Primo, ho molto dubbio su questo account (molti famosi sviluppatori avvocato di tag brevi). Secondo, … dal [spaventoso accademico] comunità PHP? Non abbiamo un sacco di divertimento-facilità lo sporco, amante bambini che giocano a piedi nudi in una sandbox?:) Disclaimer: ho trascorso 6-8 anni di scavo in PHP ignorando veramente bella e potente linguaggi di programmazione e ora sono 32 e dispiace davvero! Violare PEP8 dove avrete messo al bando e veramente importa. PS. Non ho il coraggio di assumere PHP scopo effettivo all’inizio era il sistema di templating. No?
  • Come @Kornel notato qui, ci potrebbero essere altre ragioni per utilizzare il motore di template di pulitore di sintassi. Latte ad esempio, è molto robusto automatico fuga che sarebbe quasi impossibile da attuare correttamente a mano.

 

24 Replies
  1. 25

    Sì, come hai detto, se non si forza a voi stessi di utilizzare un motore di template all’interno di PHP ( il motore di template ) diventa facile scivolare e interrompere la separazione preoccupazioni.

    Tuttavia, le stesse persone che hanno problemi di separazione preoccupazioni finiscono con il generare codice HTML per nutrire smarty, o l’esecuzione di codice PHP in Smarty, quindi Smarty difficile risolvere la vostra preoccupazione separazione problema.

    Vedi anche:

    • Sì, questo è esattamente il caso di problema che abbiamo con Smarty. Alimentazione del codice html di smarty variabili e l’utilizzo di {php}{/php} tag.
    • Questo è qualcosa che ho pensato un po ‘ pure. Si possono dare alcuni esempi di cose che si potrebbero fare in una ‘vista’ MVC (contesto) in puro PHP? es. testo taglio, la capitalizzazione dei passanti. Dove è la linea disegnata per gli altri ‘preoccupazioni’.
    • Ho il parere del modello di lingue che fanno tutti schifo e non del tutto separata mai in qualsiasi applicazione, basta disegnare la tua linea su un progetto per progetto. Sto lavorando per avere non di codice nel mio modello, ma questo è un modo per disattivare.
    • Visualizza la logica è sempre un pendio scivoloso. A quale punto zebra striping o la formattazione del testo diventa “reale” logica? La mia opinione è che se ti stai chiedendo a questa domanda e non dire semplicemente “aw vite” siete sulla strada giusta.
    • Qualcuno ha sottolineato che non si deve mai modificare qualsiasi valore all’interno del modello. Questo è molto ragionevole minimo. Personalmente vorrei andare oltre, limitando PHP solo la semplice funzionalità. Non molti comandi concatenati.
    • Risposta eccellente. Sistemi di Templating sono una di quelle cose in cui non hai pagato le tasse di sicurezza, se non l’hai scritta te, solo per buttare via dopo. E ‘ davvero riduce a ciò che si può fare costantemente che è gestibile da coloro che lavorano con voi … e voi stessi.
    • Questo è il codice gestibile si sarà iscritto con smarty… sul serio… ho controllato la colpa e qualcosa di come è stata scritta la settimana scorsa…::: {foreach=$array|@array_keys item=’chiave’ }{foreach=$array|@array_values item=’valore’}{se $smarty.post.var==$key}{$value|fuga:’html’}{altro}{$chiave|fuga:’html’}{/if}{/foreach}{/foreach}
    • Il primo link è rotto.
    • La pagina esiste ancora, ma il contenuto è stato eliminato in modo che solo di alta rep persone possono visualizzare. Dato l’eliminazione è successo 6 anni da quando ho scritto questo commento, non so come risolvere questo problema, perché non è possibile sostituire solo un parere specifico :p

  2. 17

    Il principale motivo per cui le persone utilizzano sistemi modello è quello di separare la logica di presentazione. Ci sono diversi vantaggi che provengono da quella.

    In primo luogo, si può consegnare un modello per un web designer che può spostare le cose intorno come meglio credono, senza che questi debba preoccuparsi di mantenere il flusso del codice. Non hanno bisogno di capire PHP, giusto per sapere di lasciare i tag speciali da solo. Si può imparare qualche semplice semantica per un paio di etichette, ma che è molto più semplice che imparare tutta la lingua.

    Inoltre, suddividere la pagina in un file separato, entrambi programmatore e designer possono lavorare sulla stessa pagina alla volta, controllando nel controllo del codice sorgente di cui hanno bisogno, senza conflitti. I progettisti possono testare il loro modello di grafica confronti di una versione stabile del codice, mentre il programmatore sta facendo altro, potenzialmente modifiche di rilievo, contro la loro copia. Ma se queste persone erano entrambi di modificare lo stesso file e ha dovuto fondersi in diverse modifiche, si può incontrare problemi.

    Si impone anche una buona pratica di programmazione in linea logica di business, lontano dalla logica di presentazione. Se metti la tua logica di business, mescolate con la presentazione poi si hanno un tempo più difficile l’estrazione, se avete bisogno di presentare in modo diverso dopo. Diverse modalità di presentazione le applicazioni web sono sempre più popolare in questi giorni: feed RSS/ATOM, JSON AJAX risposte, WML per dispositivi palmari, etc. Con un modello di sistema questi possono spesso essere fatto interamente con un modello di e poca o nessuna modifica a qualsiasi altra cosa.

    Non tutti hanno bisogno o godere di questi vantaggi, tuttavia. PHP vantaggio su Java/Python/Ruby/etc è che si può rapidamente hack delle pagine web con un po ‘ di logica, e questo è tutto bene e buono.

    • Risposta eccellente. La separazione della logica e la presentazione è il più grande vantaggio. Consentendo la progettazione di modificare, senza preoccuparsi del codice di aumentare la produttività in modo sostanziale.
    • Questo è tutto vero, naturalmente, ma non è necessario separare motore di template per farlo. PHP stesso può essere usato come descrivi. Forse è la mia cattiva formulazione. Voglio dire, sistema di template come prodotto e non come approccio.
    • I vantaggi dell’utilizzo di ‘off the shelf’ software sono la stessa cosa, qui come altrove: si ottengono così i vantaggi della prima prova da parte della comunità, pronto documentazione, e quasi esente da manutenzione per andare avanti.
    • È possibile implementare la separazione delle preoccupazioni di te in php, se sei disciplinato, ma come un progetto che cresce ad avere più sviluppatori, che diventerà sempre di più un compito di assicurarsi che la disciplina si applica ad altri sviluppatori/designer.
  3. 12

    Di non usare i template PHP con la scusa di separare la logica è una sciocchezza. Se lo sviluppatore non capire che cosa l’azienda-vista la logica di separazione è e come dovrebbe essere fatto, allora il problema deve essere affrontato in modo appropriato. Altrimenti si finisce con l’HTML nella logica di business o la logica di business in modelli — nessun motore di template è andare a risparmiare. Bisogna insegnare lo sviluppatore le nozioni di base.

    E se lo sviluppatore non capire che il sistema dei template è solo una limitazione. Non aggiungere qualsiasi valore per il processo di sviluppo, solo overhead di imparare una nuova sintassi, mantenendo un’altra libreria aggiornato, e l’esecuzione più lenta. Mentre quest’ultimo può essere risolto con la cache e quant’altro, si tratta solo di rimedi un problema che altrimenti non esisterebbe. Così, template dei sistemi di valore, nessun vantaggio a tutti.

    C’è una sola eccezione, però, dove penso che l’uso di un non-sistema di template PHP è ragionevole: quando vista-logica i programmatori devono avere un accesso limitato ai modelli. Per esempio, se sei un fornitore di servizi per un blog di hosting di sistema e si desidera consentire agli utenti di personalizzare e codice del template, senza consentire loro di eseguire codice arbitrario. Questo argomento, tuttavia, non non applica ai casi in cui un designer è disposti a imparare un po ‘ di codice per facilitare la programmazione dell’interfaccia utente. Se si può imparare Smarty, può sicuramente imparare PHP.

  4. 9

    C’è ancora un buon motivo per un modello di sistema per l’uso, tuttavia non Smarty, ma PHPTAL. PHPTAL modelli sono validi XML (e, quindi, XHTML) file. Si può più utilizzare il manichino contenuto in PHPTAL e in modo da ottenere un valido XHTML file con l’aspetto finale, che possono essere elaborati e testati con strumenti standard. Ecco un piccolo esempio:

    <table>
      <thead>
        <tr>
          <th>First Name</th>
          <th>Last Name</th>
          <th>Age</th>
        </tr>
      </thead>
      <tbody>
        <tr tal:repeat="users user">
          <td tal:content="user/first_name">Max</td>
          <td tal:content="user/last_name">Mustermann</td>
          <td tal:content="user/age">29</td>
        </tr>
      </tbody>
    </table>

    PHPTAL modello motore di inserire automaticamente tutti i valori da utenti array e sostituire i nostri valori fittizi. Tuttavia, la tabella è già valido XHTML che possono essere visualizzati in un browser di vostra scelta.

    • Molto interessante, grazie per l’idea.
  5. 6

    per me, una delle grandi caratteristiche di modelli di motori è che il livello di cache trasparente per voi. Sto usando smarty molto tempo fa, e la cache cose rendere la vita più facile. anche il smarty disegno consentono di utilizzare la propria funzione di cache.
    Nel mio caso ho scelto se per qualche pagina dovrebbe utilizzare memcache o disco per memorizzare il modello di uscita.

    in mano, se il tuo sito ha un grande traffico e non sai come gestire smarty e tuning bene questo modello di motore potrebbe essere un killer. ma anche non utilizzando smarty tuo sito può morire anche.

    flickr è attualmente in uso smarty. il suo non dovrebbe essere così male, no?

    • +1 per ciò che stavo per dire.
  6. 5

    PHP è praticamente un sistema di templating. La chiave è quello di forzare te stesso a separare la logica dalla presentazione sul proprio. Utilizzando Smarty o qualcosa di simile, che solo rende leggermente più scomodo mix di logica e di presentazione. Se non riesci a fare te li separano da soli, utilizzando un sistema di template non sta andando per aiutare. Tutto sta andando a fare è mangiare una maggiore potenza di elaborazione.

    La chiave è di non modificare i valori nel codice di presentazione. Per fare questo, credo che PHP è solo efficace come Smarty se si utilizza il se/endif sintassi:

    <?php if($some_test): ?>
       <em>Some text!</em>
    <?php endif; ?>
    • È davvero con l’escape delle variabili che php non riesce il livello di dettaglio del gioco, che è il motivo per cui è necessario scrivere davvero conciso funzioni wrapper e leggibilità complessiva con solo <?php } ?> fine, blocchi che si vite.
  7. 4

    Soprattutto penso che per evitare qualsiasi forma di “unsafe” backend logica applicata in modelli.
    Poiché la maggior parte delle volte i modelli sono consegnati a progettisti, vogliamo solo dare loro un chiuso insieme di cose che possono fare.

    • Ok, quindi questo sarebbe il punto 2 in mio pro. È sempre possibile (almeno in Smarty) iniettare motore di template con pericoloso di cose. È solo un po ‘ più difficile 🙂
    • Allora non usare Smarty 🙂
  8. 3

    Mi piace la capacità di banalmente visualizzare qualsiasi modello di qualsiasi file PHP (e includere frammenti di modelli all’interno di ogni altro, di elementi comuni come la nav bar). Per esempio, si supponga di avere una pagina che normalmente stampa alcune informazioni se sei collegato o un errore se non lo siete. Con PHP, devi scrivere qualcosa come:

    if (loggedIn)
    {
        //print lots of HTML here
    }
    else
    {
        //print error message
    }

    In Smarty, potrebbe essere qualcosa di simile a questo (perdonate la mia probabilmente sbagliato la sintassi, è stato un po’):

    if (loggedIn)
    {
        $smarty->bind("info", someObject);
        $smarty->display("info.template");
    }
    else
        $smarty->display("error.template");

    Se davvero intelligente, si potrebbe anche visualizzare la pagina di login modello invece l’errore del modello, in alternativa con un messaggio che spiega perché l’utente sia finito lì. E se sei andato con la tecnica di come l’ho scritto e poi ha deciso che si voleva passare alla visualizzazione della finestra di accesso, è solo una singola linea di cambiamento! Per me, non è solo questione di mantenere la separazione di vista e la logica, ma circa la possibilità di riutilizzare gli elementi comuni della vista da molti luoghi.

    • la sua “assegnare”, ma questo è per lo più a destra.
    • Questo può anche essere fatto in PHP per includere, ma credo che Smarty è in grado di farlo più facilmente.
  9. 2

    Sono felice utilizzando un framework MVC come codice accenditore. Trovo che in ‘vista’ io tendo a bastone per il php, il codice che si riferisce solo a come sono visualizzati i valori. Ho una libreria di funzioni di formattazione posso utilizzare la vista a quell’effetto. Una delle premesse di codice accenditore è quello di evitare un linguaggio di template a causa del modo in cui è possibile limitare voi e il rallentamento della sostenute.

    Trovo che è meglio per i progettisti di imparare un po ‘ di PHP, in modo che possano ottenere ciò di cui hanno bisogno per fare ad esempio. alternanza di nomi di classe. Sarà anche più utile nel lungo periodo, e non è un grande salto da una sintassi per gli altri.

  10. 2

    Hai dimenticato htmlspecialchars() due volte. Ecco perché avete bisogno di templating system.

    Smarty è scarsa. Non giudicare template basati su sistemi che.

    • Col senno di poi questa è la risposta migliore per l’intero thread. Grazie!
  11. 1

    La tua analisi è ragionevole. Suppongo:

    • Modello di progettisti e back-end di programmatori non possono essere la stessa cosa, così si promuove la separazione.
    • Protegge da te un po ‘ che non si può davvero fare “troppo” PHP nel template.
    • Può essere più facile per ottimizzare il/la precompilazione dei modelli in alcuni scenari? (Questa è la speculazione)

    Personalmente, penso che siano più problemi di quanto valgono. In particolare non funziona se si desidera a portata di mano
    i modelli di “designer”, dal momento che il WYSIWYG strumenti non sanno cosa fare con loro.

  12. 1

    Un motore di template vantaggio che non ho visto è stata la possibilità di elementi di html dinamici – qualcosa di simile asp.net controlli. Per esempio, con PERA HTML del Modello Flexy si può avere forma dinamica elementi che, in automatico, la gestione dello stato. Un normale elemento select html possono essere utilizzati e sono l’elemento selezionato impostare il codice dietro senza passanti o condizionali nel modello.

  13. 1

    Penso che il pulitore sintassi è abbastanza una grande vittoria. Anche se può sembrare solo un paio di personaggi, ma quando lo si fa ogni giorno, quindi ogni personaggio inizia a contare.

    E {$myvar|escape}, ma IMHO è un po ‘ più breve rispetto <?php echo htmlspecialchars($myvar); ?>. (Tenendo presente che <?=$foo?> sintassi è disponibile solo quando è appositamente abilitato in PHP conf.)

    • Ok, ma ogni volta che voglio scrivere qualcosa in Smarty, per raggiungere Smarty cheat sheet, così non consentendo un grande risparmio di tempo 🙂
    • una volta che si inizia ad usarlo ogni giorno, non è necessario vedere il foglio
    • Ho ancora bisogno di un foglietto, dopo un anno di utilizzo, perché io corro in ridicolo i casi in cui è [] invece di . A rendere la vostra mente smarty! Che è?!?
  14. 1

    Non credo che si dovrebbe usare un motore di template. Invece si dovrebbe usare qualcosa come Zend_View che incoraggia a non separare la logica dalla presentazione, ma permette di costruire il vostro livello di presentazione in PHP.

    • Zend_View sua un motore di template
    • Ora sto iniziando nuovo progetto con Zend Framework, ed è come, wow, come potrei fare senza prima? 🙂
  15. 1
    • Si desidera utilizzare un file con il codice PHP come modello? Bene.
    • Si desidera utilizzare le variabili in detto modello? Bene.

    Basta ricordarsi di separare la logica e l’output finale (presentazione). Questo è meglio realizzato con un template framework. Ma non devi imparare qualcosa come Smarty.

    • Se si utilizza Zend_View o simili, è possibile utilizzare il codice PHP in tutto il modo.

    Molte persone qui hanno la risposta giusta. Smarty non è di template in PHP. Lontano da esso. Smarty è lì soprattutto per coloro che devono utilizzare i progettisti (cioè non programmatori) per modificare l’installazione e la visualizzazione delle pagine. Se tutti quelli che l’intenzione di modificare il layout delle tue pagine di programma, si può andare con un più codice PHP orientata sistema di templating. Ma in realtà si dovrebbe avere tutti i dati in uscita pronto e inviare il modello. Se si lascia che ogni recupero di pagina, di processo e di visualizzare il contenuto, si dovrà effettuare il refactoring prima poi.

  16. 1

    Quando stai scrivendo il codice per qualcun altro. Per esempio, una volta mi fu coinvolto nella creazione di un rigido framework per applicazioni web che dovrebbe essere personalizzabile per i nostri clienti. Una importante richiesta è che il cliente può noleggiare un designer per modificare i modelli senza di dover essere in grado di programmare. Ancora più importante, egli potrebbe non essere autorizzato per modificare il codice.

    Smarty per esempio, permette di implementare abbastanza rigide restrizioni su ciò che il modello può fare. Fondamentalmente, la nostra applicazione disabili tutti, ma la maggior parte del codice di base di costrutti e di un insieme selezionato di modificatore di funzioni. Così abbiamo avuto due obiettivi che sono stati ben servito da un modello motore: semplicità e sicurezza.

  17. 1

    E non dimentichiamo il futuro. I siti web sono vecchie di quasi il minuto in cui vengono pubblicate. SARÀ necessario aggiornare il look and feel a un certo punto. Se si mantiene la separazione spesso un designer da solo in grado di completare un intero nuovo sito web con la stessa programmazione sul back-end. Questo consente una più veloce e più conveniente riprogettazioni, che consente di coinvolgere solo il programmatore se la nuova funzionalità è necessario.

    • ma il progettista può fare anche senza smarty, ma con php troppo. solo alcune parole:P un foreach o un’eco, giusto?
  18. 1

    Alcuni potrebbero sostenere che Smarty fa quello che PHP può fare già: separare la presentazione dalla logica di business. Il linguaggio di programmazione PHP è grande per lo sviluppo di codice, ma se mescolato con l’HTML, la sintassi di PHP dichiarazioni possono essere un casino da gestire. Smarty in isolante PHP dalla presentazione con una molto più semplice basato su tag sintassi. Il tag rivelare il contenuto dell’applicazione, l’applicazione di una netta separazione dal PHP (applicazione) del codice. Nessuna conoscenza PHP è necessario per la gestione Smarty template.

    L’importanza di questa separazione è situazionale. È comunemente più importante per i web designer che gli sviluppatori di PHP. Pertanto, Smarty è comunemente una buona vestibilità, se i ruoli di sviluppatori e designer sono separati. Non c’è una risposta giusta o sbagliata: ogni team di sviluppo ha le proprie preferenze per la gestione di codice e modelli. A parte pulire basato su tag, sintassi, Smarty offre anche una vasta gamma di strumenti per gestire presentazione: granulare per il caching dei dati, l’ereditarietà dei template e funzionale sandboxing per citarne alcuni. Requisiti di Business e il codice PHP Smarty è utilizzato con la volontà di giocare un ruolo importante nel determinare se Smarty è una buona misura.

  19. 0

    Mi piacerebbe scommettere che se un template PHP lingua era così coercitiva come a forza di usarlo, non lo uso affatto. La capacità di “saltare fuori” e fare le cose a modo tuo, quando in difficoltà, è una delle attrattive di PHP.

    Non dico che è una buona cosa, né che il codice sarà gestibile, solo che nelle considerazioni iniziali, non vorrei scegliere un modello di lingua che mi ha bloccato completamente.

    In caso contrario, sono d’accordo che i template di sistemi di aiutarvi a dividere il lavoro tra codifica e di progettazione, e, eventualmente, lasciando progettisti di design, e la codifica di noi.

  20. 0

    Io personalmente uso sempre i motori di template in php, python o qualsiasi altra cosa.

    Il primo motivo evidente già detto da altri:

    Si obbliga a non utilizzare qualsiasi logica di business nel template.

    Sì certo, disciplina avrebbe fatto bene, quando si hanno.

    Ma questo è solo un piccolo aspetto del motivo per cui si dovrebbe usare un motore di template. La maggior parte di loro sono più di un motore e potrebbe essere considerato di template di quadri, che vi piaccia o no.

    Per esempio, Smarty ha anche avanzate funzionalità di memorizzazione nella cache come parziale di memorizzazione nella cache. Davvero cose utili, cose che si avrebbe di cose da fare da soli quando si utilizza solo il php come linguaggio di template.

    E si prega di non dimenticare tutte quelle davvero utili le funzioni di supporto, basta una rapida ricerca via nella documentazione. La maggior parte di loro anche fornire un modo semplice per plugin funzioni e/o toolkit.

    Quindi sì, è una questione di scelta. Quando serve per davvero semplice template, puoi mostrare qualche disciplina a mantenere la logica di fuori dei modelli. Ma quando si prevede l’applicazione a crescere, e vi troverete infine bisogno di un modello di quadro di riferimento. E poi, si spera, non reinventare la ruota mediante la codifica di tutto yourslef.

    E, ultimo ma non meno importante, per me c’è una killer feature disponibili in alcuni template quadri.

    Ereditarietà Dei Template

    Ho venuto a sapere da Django e ora sto usando in ultima Smarty 3. I ragazzi della Sinfonia quadro anche Twig, che si può considerare una porta con il Django di sintassi.

    È un aspetto un po ‘ strano in un primo momento, ma è estremamente potente. Costruisci il tuo scheletro e definire i vari blocchi. È possibile estendere tale scheletro e compilare (override) i blocchi con i tuoi contenuti.

    Per me è un portiere!

  21. 0

    modello di sistema di gestione, siamo in grado di gestire i file di template separatamente. sistema tempo di esecuzione sarà più veloce del normale progetto PHP. così qui i file PHP e file di modello sono mantenuti separatamente.

    una volta eseguito il file, il codice sarà salvato template_c. quindi non compilare molte volte.

  22. 0

    Ho più volte utilizzato tinybutstrong, che ha una bella pulita e semplice sintassi. Nessun loop o pseudocodice nel modello html.

    Dalla loro homepage:

    TinyButStrong è una libreria che permette di creare in modo dinamico
    XML/pagine HTML e altri file basati su testo di origine. Si tratta di un
    Motore di Template per il linguaggio PHP. Esso consente di visualizzare facilmente
    informazioni dal database, ma anche seriamente armonizzare e
    semplificare la programmazione in PHP.

    TinyButStrong è orientata a HTML, ma non specializzate di Html. Questo
    significa che può funzionare bene con i file di Testo, XML, RSS, RTF, WML, xml, Excel
    (xml), … Il OpenTBS plug-in consente di unire OpenOffice e Ms
    I documenti di Office.

  23. 0

    Sviluppatori che farà uso di OOPs concetti pesantemente,come JAVA/Primavera/Oracle PL-SQL persone,dicono che il linguaggio PHP è utilizzata per la presentazione/view/display logica di Impresa progetti di livello.
    In questi GRANDI progetti che il motore è Oracle,database, viene recuperata utilizzando pl-slq/java e la presentazione è il php.Il miglior esempio è facebook.http://en.wikipedia.org/wiki/Facebook
    facebook utilizza php per la presentazione, java, c++ come interfaccia di backend.

    L’unico motivo php è utilizzato come presentazione, perché si lavora a stretto contatto con l’HTML,ma java/c++ è più OOPs base e non può essere in forma direttamente con l’HTML.
    Dimmi un CMS(joomla/drupal/wordpress) o framework zend/symfony/Yii), che fa uso di Smarty? E allora PERCHÉ smarty è necessario?

  24. -1

    Ho come l’utilizzo di modelli per un paio di motivi:

    1) pulisce la leggibilità del codice PHP. Il mio file PHP diventato gonfio e anomalo quando ci sono print(“”) le dichiarazioni con pezzi di HTML ovunque. Inoltre, i problemi affiorano come come si fa a passare le variabili nel codice HTML del testo? Non si utilizza il tag ovunque? Si usa print(“”) e la fuga HTML preventivi e concatenare le variabili? Si usa print(“”) e usa virgolette singole in HTML, andando contro lo standard, e inserire le variabili direttamente?

    2) pulisce la presentazione del codice HTML. Può diventare difficile mantenere il vostro codice HTML generato da guardare bene se si è tagliato e fatto a pezzi in più file. Per esempio, il rientro può ottenere fuori strada.

    3) permette di creare più modelli, e quindi un utente può scegliere il modello e la pelle ha voglia di visualizzazione durante la navigazione del tuo sito web, e si può anche rapidamente e senza sforzo di cambiare il template di default per qualcosa d’altro, se sei così inclinato.

    In generale, è solo un modo migliore per organizzare tutto. C’è un po ‘ di compromesso di dover imparare e modello del tipo di classe comandi, aprire più file, etc. Ma a mio parere penso che ne vale la pena perché la leggibilità del codice stesso e organizzazione sale.

Lascia un commento