Salve premetto che non ho mai lavorato in PHP, la mia esperienza è tutta su Asp.
Mi ritrovo ora a dover modificare un sito già relaizzato in php
in una pagina ho trovato il seguente codice:
<?php
include "includeF/template.inc";
$main=new Template("index.htm");
$main->setContent(esito,"");
$main->parse();
$main->close();
break;
VVoVe:
VVoVe:
Qualcuno può dirmi a cosa serve questo codice????
nel file template.inc che viene incluso c'è il seguente codice:
<?
class Template {
var $template_file,
$buffer,
$foreach,
$content,
$debug;
function Template($filename,$debug = "") {
$this->template_file = $filename;
$this->debug = $debug;
$fp = fopen ($filename, "r");
$this->buffer = fread($fp, filesize($filename));
fclose($fp);
$i=0;
do {
$result = ereg("<\[foreach\]>(.+)<\[\/foreach\]>",$this->buffer,$token);
if ($result) {
$this->foreach[] = $token[1];
$this->buffer = ereg_replace("<\[foreach\]>.+<\[\/foreach\]>","<[foreach$i]>",$this->buffer);
}
} while ($result);
}
function setContent($name, $value) {
if ($value == "") {
if (gettype($name) == "array") {
foreach($name as $k => $v) {
$this->content[$k][] = $v;
}
}
else {
$this->content[$name][] = $value;
}
}//end_if
else {$this->content[$name][] = $value;}
}
/*function setContent($name, $value = "") {
if (gettype($name) == "array") {
foreach($name as $k => $v) {
$this->content[$k][] = $v;
}
} else {
$this->content[$name][] = $value;
}
}*/
function pre($var) {
if ($this->debug == "DEBUG") {
return "<!- begin:$var -->";
}
}
function post($var) {
if ($this->debug == "DEBUG") {
return "<!- end:$var -->";
}
}
function parse() {
if ($this->debug == "DEBUG") {
$pre = "<!- \$token[1] -->";
$post = "<!- \$token[1] -->";
}
for($i=0;$i<count($this->foreach);$i++) {
$result = ereg("<\[([[:alnum:]]+)\]>",$this->foreach[$i],$token);
if ($result) {
$iterations = count($this->content[$token[1]]);
}
for ($j=0;$j<$iterations;$j++) {
$buffer = $this->foreach[$i];
do {
$result = ereg("<\[([[:alnum:]]+)\]>",$buffer,$token);
if ($result) {
$buffer = ereg_replace("<\[$token[1]\]>",$this->pre($token[1]).$this->content[$token[1]][$j].$this->post($token[1]),$buffer);
}
} while ($result);
$this->content["foreach$i"][0] .= $buffer;
}
}
do {
$result = ereg("<\[([[:alnum:]]+)\]>",$this->buffer,$token);
if ($result) {
$this->buffer = ereg_replace("<\[$token[1]\]>",$this->pre($token[1]).$this->content[$token[1]][0].$this->post($token[1]),$this->buffer);
}
} while ($result);
}
function close() {
echo $this->buffer;
}
function get() {
return $this->buffer;
}
}
?>
Sinceramente non ho capito a cosa serve. Potete aiutarmi.![]()
Grazie
![]()
![]()