template engine e interazione con il database

Salve a tutti ho una classe che riesce a gestire un sistema di template solo la parte statica di un sito:

ecco la classe:

class tpl {

public $tpl;

function __construct($path){
$this->tpl = file_get_contents($path);
}
function replace($tag) {
foreach($tag as $key => $value) {
$this->tpl = str_replace("{-".$key."-}", $value, $this->tpl);
}
}


function publish() {
return $this->tpl;
}
function __destruct() {
unset($this->tpl);
}
}

$t_class     = new template("prova.html");
$t_array     = array("title"=>"$titolo","prova"=>"$testo");


$t_class->replace($t_array);
echo $t_class->publish();

Pagina html per richiamare il tpl:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

<title>Documento senza titolo</title>

</head>

<body>

<div>{-title-} -- {-prova-}</div>

</body>

</html>

se volessi interagire con un database ed estarre tutti i dati tramite un ciclo while questa classe non me lo permette... come posso implementare una fuzione che mi riesce a gestire anche con un database?? grazie mille in anticipo...

inviato 7 anni fa
felix1
modificato 7 anni fa
X 0 X

Utilizza un template engine più adeguato, come Smarty, Savant3 o TinyButStrong

 :bye:

risposto 7 anni fa
Gianni Tomasicchio
X 0 X

si è vero ci sono template validi e molto professionali.. ;D ;D

 però vorrei creare un template da me in modo tale da avere un controllo (anche se non professionale come quelli che hai scritto nel post sopra) completo sullo script..

Gianni tu quando sviluppi un sito usi un templare creato da te oppure un script già pronto tipo smarty??

 :bye: :bye:

risposto 7 anni fa
felix1
X 0 X

Ho usato per molto tempo Smarty, poi Savant e adesso lo Zend Framework che anche se non possiede un vero template engine permette comunque una buona separazione tra i template HTML ed il codice PHP

Io ti consiglio di usare sempre dei "prodotti" collaudati al posto di soluzioni casalinghe.

 :bye:

risposto 7 anni fa
Gianni Tomasicchio
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda