Salve a tutti,
è da poco che sto studiando il php ma diciamo che cerco di cavicchiarmela. Sto cercando di fare una classe in php che mi consente di filtrare un file-template inserendovi delle "variabili" e completarla nel contenuto. Mi fermo sempre su dei punti fondamentali. Non riesco a spiegarmi se esiste un modo per evitare aggiramenti contorti quando devo inserire liste generate in php-mysql, se è possibile effettuare il catching di file già eseguiti e cose di questo tipo.
Giusto per iniziare posto la classe:
Codice PHP:
<?php // gestione dei template del sito
class template {
public $template;
function __construct($path){
$this->template = file_get_contents($path);
}
function replace($tag) {
foreach($tag as $key => $value) {
$this->template = str_replace("{".$key."}", $value, $this->template);
}
}
function publish() {
return $this->template;
}
function __destruct() {
unset($this->template);
}
}
// esecuzione
$t_class = new template("prova.html");
$t_array = array("title"=>"pagina di prova","prova"=>"questo è un testo di prova");
$t_class->replace($t_array);
echo $t_class->publish();
?>
file template:
Codice PHP:
<html>
<head>
<title>{title}</title>
</head>
<body>
<h3>{prova}</h3>
</body>
</html>
come classe è molto snella e primitiva, ho cercato altre classi, ma sono molto complicate ed ingombranti e spesso non capisco i ragionamenti assurdi che ci sono dietro.... spero che voi possiate darmi una mano ad arricchire la mia classe ^^ grazie